0
因此,我有两个表格Site和Contact通过ContactSites表具有多对多关系。网站和联系人表格都有一个名为已删除的布尔属性。我想尝试写一个LINQ查询其中列出了有删除的属性= false,并具有相关网站的所有联系人也有删除的属性=假EF Linq使用嵌套子查询的多个内部联接
这里是我使用的代码:
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()}
但结果看起来像一个外部连接vs我想要的内部连接。
我特别寻找一种方式,以嵌套子查询做到这一点,而不是加入这将是:
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
任何帮助表示赞赏
请问第二个 - 简单,简洁 - 代码示例工作?如果是这样,你为什么要子查询? – lisp
以及第二个代码示例中linqpad写作时,但在C#中vs2012由于没有用于ContactSites – user2129585
没有模型,但随后第一querry将不能工作也不行,因为你在ContactSites参加工作。 – lisp