[英]Linq2Sql join by multiple columns (by OR operator)?
我可以翻譯一下:
SELECT *
FROM vectors as v
INNER JOIN points as p
ON v.beginId = p.id OR v.endId = p.id
變成linq2sql語句? 基本上我想要這樣:
var query = from v in dc.vectors
join p in dc.points on p.id in (v.beginId, v.endId)
...
select ...;
我知道,我可以通過Union構造來做到這一點,但是有比復制大多數查詢更好的方法嗎?
您不能在linq-to-sql中使用or
on
子句。 您需要做:
var result = from v in dc.vectors
from p in dc.points
where p.id == v.beginId || p.id == v.endId
select new { v, p };
等效於sql的:
SELECT *
FROM vectors as v,
points as p
WHERE v.beginId = p.id
OR v.endId = p.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.