Фильтр дочерних объектов в EF - PullRequest
0 голосов
/ 11 апреля 2011

Как я могу фильтровать дочерние объекты с каркасом сущности по некоторым критериям? Например: у меня есть объект Company с ChildObjects, CompanyChilds. CompanyChilds имеет свойство active. Я хочу получить компанию с точным идентификатором и дочерние объекты с активными равными истиной.

Я пробовал с этим:

dbContext.Company.Include("ChildCompany").Where(x => x.Id == Id 
&& x.ChildCompany.Any(y => y.Active == true));

Любая помощь приветствуется:)

Ответы [ 2 ]

2 голосов
/ 13 апреля 2011

Существует способ фильтрации дочерних записей в API Code First - см. Этот пост: http://blogs.msdn.com/b/adonet/archive/2011/01/31/using-dbcontext-in-ef-feature-ctp5-part-6-loading-related-entities.aspx См. «Применение фильтров при явной загрузке связанных сущностей»

0 голосов
/ 11 апреля 2011

Предполагая, что вы в основном хотите активных детей из родительской компании ..

var comp = dbContext.Company.Single(comp=>comp.Id == id);
var children = comp.ChildCompany.Where(cc=>cc.Active == true);

Однако вы можете запросить детей напрямую ..

var children = dbContext.Company
         .Where(comp=>comp.ParentId == id && comp.Active == true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...