如何在LINQ中编写此查询?

0 sql linq

以下查询用于获取类别和每个类别的一个新闻.如何使用LINQ编写此查询

SELECT * FROM News n where n.NewsID IN 
(SELECT TOP 1 NewsID FROM News v
WHERE v.CategoryID = n.CategoryID 
ORDER BY CreatedOn DESC)
Run Code Online (Sandbox Code Playgroud)

提前致谢.

and*_*ecu 5

没有测试,但尝试这样的事情:

using (var db = new YourDataContext())
{
   var results = from n in db.News 
                 let v = db.News
                 where n.NewsId == v.Where(c=>c.CategoryId == n.CategoryId)
                    .OrderByDescending(o=>o.CreatedOn).First()
                 select n;
}
Run Code Online (Sandbox Code Playgroud)