在LINQ中编写以下查询需要帮助.理想情况下,我想使用变量(作为参数传入)作为Top X值.建议表示赞赏.
SELECT *
FROM [Link] a
WHERE ID IN (SELECT TOP 3 ID
FROM [Link] b
WHERE b.SiteID = a.SiteID
ORDER BY a.ID)
Run Code Online (Sandbox Code Playgroud)
内部查询使用SiteID连接,因为我正在尝试检索每个SiteID的前3行.
那个怎么样:
from l in links
where
(from l2 in links
where l2.SiteID == l.SiteID
orderby l2.ID
select l2.ID).Take(3).Contains(l.ID)
select l
Run Code Online (Sandbox Code Playgroud)
这就是你明确地将SQL翻译成LINQ查询.