我有两个桌子。为了简化起见,将它们称为表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);
答案 0 :(得分:1)
假设inservice
是bool
,而不是您的表描述中的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;