2012-09-19 27 views
0

我有簡單的數據模型Project,Member和ProjectMember,其中Project to Member具有多對多關係。因此ProjectMember表包含這兩個外鍵。限制包含實體中返回的行

我寫的代碼

var result= db.Projects.Include(p=>p.ProjectMembers).Where(p=>p.ProjectMembers.Any(pm=>pm.DeletedUser==1)); 

,我看到result.ProjectMembers數爲2。在這裏,我有更多的記錄與DeletedUser不等於1

我在這裏做錯了嗎?

什麼是result.ProjectMembers

回答

1

您所要求的具有Project,至少有一(=任意)ProjectMember與表達我必須使用獲得的唯一一個記錄(或多個具有DeletedUser = 1) DeletedUser == 1。滿足這個條件。 Project的其他ProjectMember可以具有除DeletedUser以外的任何其他值。

如果你想用ProjectProjectMember s的DeletedUser == 1你應該ProjectMember開始查詢:

ProjectMembers.Include("Project").Where(pm => pm.DeletedUser == 1)