Entity framework 限制包含实体中返回的行

Entity framework 限制包含实体中返回的行,entity-framework,c#-4.0,entity-framework-5,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)); 我看到结果。ProjectMembers计数为2。这里我得到了Delet

我有一个简单的数据模型Project,Member和ProjectMember,其中Project-to-Member有多对多的关系。因此,ProjectMember表包含两个外键

我写代码

var result= db.Projects.Include(p=>p.ProjectMembers).Where(p=>p.ProjectMembers.Any(pm=>pm.DeletedUser==1));
我看到
结果。ProjectMembers
计数为2。这里我得到了DeletedUser不等于1的附加记录

我做错什么了吗


我必须使用什么表达式来获取
结果的唯一一条记录(或DeletedUser=1的多条记录)。ProjectMembers

您要求的
项目
至少有一个(=any)
项目成员
,且
DeletedUser==1
。这一条件得到满足。
项目的其他
ProjectMember
s对于
DeletedUser
可以具有除1以外的任何其他值

如果希望
项目
仅包含
项目成员
s和
DeletedUser==1
,则应在
项目成员
处开始查询:

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