代码之家  ›  专栏  ›  技术社区  ›  Gautam T Goudar

EF 4.0:根据条件包括

  •  1
  • Gautam T Goudar  · 技术社区  · 12 年前

    我在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 回复  |  直到 12 年前
        1
  •  0
  •   Eugene S.    12 年前

    如果您不介意使用 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上的导航属性。