如何将基于子查询的具有多个连接条件的SQL语句转换为LINQ
本文关键字:条件 连接 SQL 语句 LINQ 转换 查询 | 更新日期: 2023-09-27 18:01:55
这可能是普通SQL命令比LINQ更好的情况之一。下面是我要翻译的SQL语句的简化版本:
SELECT * FROM IDTable AS idt
INNER JOIN NameTable AS nt ON nt.IDTableID=idt.Id
AND nt.Id= (SELECT TOP(1) Id
FROM NameTable AS nt2
WHERE nt2.IDTableID=11 ORDER BY nt2.DateInserted DESC)
我有LINQ查询拉记录时,只是加入id,我已经看到如何加入多列,但我不知道如何插入子查询到混合。如果这不是很清楚,请让我知道,我会编辑详细说明。
也许是这样的?
var results = from id in db.IDTable
join n in db.NameTable on id.Id equals n.IDTableID
where n.Id = (
from n2 in db.NameTable
where n2.IDTableID = 11
orderby n2.DateInserted desc
).First()
select new { id, n };