Посмотрите вложенную родителями (самовоспроизведение), пока выполняется условие в EF основной запрос LINQ?
Привет,
существует ли хороший и быстрый способ получить один родительский объект (или его идентификатор) по условию, не повторяя все уровни самореферентных отношений?
Модель, например, такая (псевдокод):
класс MyObject {
bool myCondition;
виртуальный родитель MyObject;
инт атрибутом parentId;
}
А иерархия может быть бесконечной например реальный сценарий:
MyBuilding -> MyFloor -> MyOffice -> MyRoom и т. д.
и то, что мне нужно получить от SQL Db, используя последнее ядро EF, - это первый родитель
это соответствует условию, например, у меня есть MyRoom id = 4, и я хочу получить родительский объект, который имеет myCondition = true, и я понятия не имею, на каком уровне выполняется это условие (может быть истинным уже в MyRoom, может быть истинным в MyBuilding, besically в любом месте пути отношений).
Можно ли писать в LINQ, не получая все уровни один за другим и не проверяя флаг? Производительность-это ключ, вложенных уровней может быть очень много.
Что я уже пробовал:
Я совершенно не представляю, как создать этот запрос, если это вообще возможно?