我有两个表,其中包含一个(父)到多个(详细信息)关系。
我想在Linq中编写这个查询(用SQL编写)。正如你看到的;它是子查询的内连接,包含Except:
select pa.* from dbo.Parent pa
inner join
(
select p.ID from dbo.Parent p
except
(
select d.ID from dbo.Details d where (d.ParentID = 371)
)
) p
on pa.ID = p.ID
where pa.ID <> 371
答案 0 :(得分:0)
var result = Parent.Where(p=>Details.Where(d=>d.ParentID!=371)
.Select(d=>d.ID)
.Contains(p.ID));
答案 1 :(得分:0)
parent.Join(Details ,
parent => parent.Id,
detail => detail.Id,
(parent, detail) => new { P = parent, D = detail)
.Where(e => e.D.ParentId != 371)
.Select(e => e.P);