【发布时间】:2017-01-26 19:00:40
【问题描述】:
我正在尝试将以下带有自连接的查询转换为 LINQ 表达式。
select r2.* from depends d
join request r on d.DESC =r.DESC
join request r2 on d.ID=r2.ID
and d.TYPE ='sometype'
where r.ID= 12345
如何更正以下 LINQ 查询以匹配上面正确的 SQL 查询?
var result = (from d in depends
join r in request on d.DESC equals r.DESC
join r2 in request on d.ID == r2.ID && d.TYPE == incomingType.ToString()
where r.ID == incomingId
select r2).AsEnumerable();
【问题讨论】:
-
首先,SQL 查询中没有自连接,只有同一张表的两个连接。其次,SQL查询奇怪且不一致,
d.TYPE='sometype'和r.ID=12345条件都涉及一个表,因此应该简单地放在where子句中。