Иерархические данные в LINQ и поиск - PullRequest
1 голос
/ 29 декабря 2011

У меня есть структура данных, похожая на следующую:

SearchCategories
------------------------------
Id           : int
ParentId     : int (nullable)
Title        : varchar (70)

ParentId - это внешний ключ к идентификатору в той же таблице, что позволяет использовать бесконечно вложенную иерархию категорий поиска.

Оттуда у меня есть таблица ContentLinks:

ContentLinks
--------------------------------
Id               : int
SearchCategoryId : int
Title            : varchar (70)

Я хотел бы иметь возможность предоставить SearchCategory.Id (который имеет дочерние SearchCategories) и найти все ContentLinksкоторые находятся в данной категории поиска, и в любом из его детей, использующих LINQ to SQL.

Спасибо,Кирон

1 Ответ

1 голос
/ 29 декабря 2011

Я не думаю, что с помощью linq to sql можно каким-то простым способом. Вы всегда можете использовать sql-запрос для непосредственного выполнения ( how ). На сервере sql вы можете использовать Common Table Expression (CTE), чтобы получить данные для самостоятельного соединения. Чтобы начать работу с CTE, вы можете увидеть здесь и здесь

...