LINQ查询省略了任何重复的ID

问题描述 投票:0回答:1

我有两张桌子。出于简单的原因,将其称为表A和表B,

表A:

ID int(PK)

customername varchar

customeraddy varchar

inservice布尔值

等varchar

等varchar

表B:

PKID int(PK)

ID int()

linename varchar

只是寻找一个LINQ查询,它可以从ID列上的表A和表B的连接表中选择所有值,其中inservice ==“true”,它省略了基于ID的任何重复项(因为表B有多个ID重复项)。

到目前为止,这就是我所拥有的:

from x in db.tableA
join y in db.tableB on x.id equals y.id
where x.inservice == "true"
select y);
c# .net linq
1个回答
1
投票

假设inservice是你的表描述中的bool而不是string,并假设你想要tableA只有一个匹配行的tableA和tableB行,

var AjoinB = from x in db.tableA
             where x.inservice
             join y in db.tableB on x.id equals y.id
             group new { x, y } by x.id into xyg
             where xyg.Count() == 1
             select xyg;
© www.soinside.com 2019 - 2024. All rights reserved.