LINQ TO SQL 子查询

LINQ TO SQL Subquery

我正在学习 LINQ to SQL。我想为以下内容编写一个 LINQ TO SQL 查询:

SELECT TOP 1 * From
(select Top 2 * from Data ORDER BY ID DESC)                     
ORDER BY ID

按照我的理解是这样写的;

GridView1.DataSource = from ( from data in dbCon.Data ORDER BY data.ID DESC
                          select Top 2 *)ORDER BY data.ID
                          select TOP 1 * ;

但这是不正确的。谁能告诉我正确的语法?以及可以帮助我学习 LINQ TO SQL 编写子查询的语法的链接?

试试这个:

  var query = (from x in db.Data
    select x).OrderByDescending(x=> x.Id).Take(2);




    var query2 = (from y in query
    SELECT y).OrderByDescending(y=> y.Id).Take(1);

这应该适合你:-

var result = (from x in
               ((from data in db.DATA orderby data.ID descending select data).Take(2))
                orderby x.ID
                select x).FirstOrDefault();