我有两张桌子。出于简单的原因,将其称为表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);
假设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;