1

我在 EF 4 中使用了以下 Linq Expession

var map = model.CDM_SubsidiaryDocumentMap.Where(m => m.SubsidiaryID == subsidiaryID)
                                         .Include("CDM_DocumentType")   
                                         .Include("CDM_DocumentType.CDM_DocumentHeader")                                                         
                     **(Need Help here)   Filter based on CDMDocumentType.CDM_DocumentHeader.ContactID == 123**
                                         .OrderBy(m => m.UISortOrder)
                                         .ToList();

如何编写上面缺少的语句,其中包含基于 contactID 过滤器的嵌套子项。另请注意,CDM_DocumentType.CDM_DocumentHeader 是一个集合。非常感激

4

1 回答 1

0

如果您不介意使用from语法。尝试这样的事情:

var map = (from m in model.CDM_SubsidiaryDocumentMap
           from dmh in m.CDM_DocumentType.CDM_DocumentHeader
           where m.SubsidiaryID == subsidiaryID
             && dmh.ContactID == 123
           order by m => m.UISortOrder
           select m).ToList();

如果这不起作用,请显示更多您的实体模型,正如我所做的并假设 CDM_DocumentType 是 CDM_SubsidiaryDocumentMap 上的导航属性。

于 2013-09-27T18:13:33.437 回答