限制包含实体中返回的行

时间:2012-09-19 12:30:43

标签: entity-framework c#-4.0 entity-framework-5

我有简单的数据模型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

的唯一一条记录(或许多DeletedUser = 1)

1 个答案:

答案 0 :(得分:1)

您要求Project 至少有一个(= any)ProjectMember DeletedUser == 1。满足这个条件。对于ProjectMemberProject的其他DeletedUser可以包含除1以外的任何其他值。

如果您想Project ProjectMember DeletedUser == 1 ProjectMember,请在ProjectMembers.Include("Project").Where(pm => pm.DeletedUser == 1) 开始查询:

{{1}}