2013-09-27 39 views
1

我有以下的Linq Expession正在EF 4EF 4.0:包括基于条件

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

回答

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(); 

如果不工作表现出更多的实体模型,因为我做了和assumtion那CDM_DocumentType是CDM_SubsidiaryDocumentMap导航属性。

+0

谢谢。有用。 (上面的查询在结尾处有一个缺失的select m) –

+0

修复了答案。 –