2013-09-27 73 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

修復了答案。 –