Я не совсем уверен, что ваш вопрос, но может быть полезно следующее.
В структуре сущностей, если вы хотите загрузить граф объектов и отфильтровать дочерние объекты, вы можете сначала выполнить запрос для дочерних объектов и перечислить его (т. Е. Вызвать ToList ()), чтобы ребенок выбирался из памяти.
И затем, когда вы извлекаете родительские объекты (и не используете .include), инфраструктура enitity сможет построить график самостоятельно (но учтите, что вам, возможно, придется сначала отключить отложенную загрузку, иначе загрузка займет много времени).
Вот пример (если ваш контекст "db"):
db.ContextOptions.LazyLoadingEnabled = false;
var childQuery = (from o in db.orders.Take(10) select o).ToList();
var q = (from p in db.people select p).ToList();
Теперь вы обнаружите, что у каждого объекта людей есть десять объектов порядка.
РЕДАКТИРОВАТЬ: я спешил, когда писал пример кода, и поэтому я еще не тестировал его, и я, вероятно, ошибся, заявив, что .Take (10) будет возвращать десять заказов для каждого объекта people, вместо этого я считаю, что .Take (10) вернет только десять общих заказов, когда отложенная загрузка отключена, (а для случая, когда отложенная загрузка включена, мне нужно фактически проверить, каков будет результат), и чтобы вернуть десять Приказы для каждого объекта люди, возможно, придется выполнить более обширную фильтрацию.
Но идея проста: вы сначала выбираете все дочерние объекты, а структура сущностей строит граф самостоятельно.