Я работаю с большим набором иерархических данных в sql-сервере, смоделированным с использованием стандартного подхода EntityID, ParentID. Во всем дереве насчитывается около 25 000 узлов.Как использовать структуру сущности с иерархическими данными?
Мне часто нужно получить доступ к поддеревьям дерева, а затем получить доступ к связанным данным, зависающим от узлов поддерева. Несколько лет назад я построил слой доступа к данным на основе табличных функций, используя рекурсивные запросы для извлечения произвольного поддерева, учитывая корневой узел поддерева.
Я думаю об использовании Entity Framework, но я не вижу, как запрашивать иерархические данные, такие как . AFAIK в Linq нет рекурсивного запроса, и я не могу выставить TVF в моей модели данных сущности.
Является единственным решением для сохранения хранимых процедур? Кто-нибудь еще решил это?
Уточнение: на 25 000 узлов в дереве. Я имею в виду размер иерархического набора данных, а не что-то связанное с объектами или инфраструктурой Entity Framework.
Ссылка есть, к сожалению, сейчас нет – Oskar
@Oskar: Страница теперь доступна на сайте автора, я обновил ссылку. –