这可能是普通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时拉取记录,我已经看到如何连接多个列,但我不知道如何将子查询插入混合。 如果这还不完全清楚,请告诉我,我会编辑以详细说明。
答案 0 :(得分:1)
也许是这样的?
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 };