Как я понял у тебя категории и специальности связаны one-to-many так просто выполни запрос. Если у тебя адо.нет то тебе нужен репозиторий для каждой сущности. И тогда у тебя будет что-то вроде select * from SpecialsTable where categoryId = @param (где параметр опрелится в твоём Шарп-коде примерно так : categoryRepository.GetAll().FirstOrDefault(c=>c.Id == твой интовый параметр). Метод ты должен описать сам. Искать это нужно на метаните. Читать Адо.нет и паттерн репозиторий. Если делаешь с ЕФ тогда ещё проще в сто раз. Писать не буду там итак все понятно. Так же пишешь репозиторий, так же LINQ тебе в помощь для запросов. Надеюсь, помог немножко.