所以我有两个表站点和联系人,它们通过 ContactSites 表具有多对多关系。Site 和 Contact 表都有一个名为 Deleted 的布尔属性。我正在尝试编写一个 LINQ 查询,其中列出了所有具有已删除属性 = false 并且具有相关站点的联系人也具有已删除属性 = false
这是我正在使用的代码:
from c in Contacts
where c.Deleted == false
select new{c.LName, c.FName, SiteContactSites =
(from cs in ContactSites
where cs.Contact_ID == c.ID
select new{ cs.Contact_ID, cs.Site_ID, Sites =
(from s in Sites
where cs.Site_ID == s.ID &&
s.Deleted == false
select cs).First()}).First()}
但结果似乎就像我想要的外部联接与内部联接。
我正在专门寻找一种使用嵌套子查询而不是连接的方法来执行此操作:
from c in Contacts
join cs in ContactSites on c.ID equals cs.Contact_ID
join s in Sites on cs.Site_ID equals s.ID
where c.Deleted == false && s.Deleted == false
select c
任何帮助表示赞赏