EF 4.0:根据条件包含

时间:2013-09-27 17:54:36

标签: entity-framework-4

我在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是一个集合。非常感谢

1 个答案:

答案 0 :(得分: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上的导航属性。

相关问题