LINQ查询忽略所有重复的ID

时间:2018-09-11 14:56:07

标签: c# .net linq

我有两个桌子。为了简化起见,将它们称为表A和表B,

  

表A:

ID int(PK)

客户名称 varchar

customeraddy varchar

服务中 布尔值

varchar

varchar

  

表B:

PKID int(PK)

ID int()

线路名称​​ varchar

只需寻找一个LINQ查询,即可从ID列(其中inservice ==“ true”)的表A 表B 的联接表中选择所有值忽略基于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);

1 个答案:

答案 0 :(得分:1)

假设inservicebool,而不是您的表描述中的string,并假设您同时希望tableA和tableB行,其中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;