0

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

我写代码

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

我看到result.ProjectMemberscount 是 2 。在这里,我得到了 DeletedUser 不等于 1 的附加记录

我在这里做错了吗?

我必须使用什么表达式来获取唯一的一条记录(或许多带有 DeletedUser=1 的记录)result.ProjectMembers

4

1 回答 1

1

您要求Projects至少有一个(= any)ProjectMemberwith DeletedUser == 1。满足这个条件。的其他ProjectMembersProject可以具有除 1 以外的任何其他值DeletedUser

如果你想要Projectwith only ProjectMember s withDeletedUser == 1你应该在以下位置开始查询ProjectMember

ProjectMembers.Include("Project").Where(pm => pm.DeletedUser == 1)
于 2012-09-19T18:42:24.533 回答