LINQ语句返回元素的ROWNUMBER与ID ==什么?(LINQ statement that

2019-07-30 06:26发布

如何编写返回元素的ROWNUMBER与ID ==东西LINQ声明?

Answer 1:

有没有直接的方法来做到这一点,我所知道的。 你不得不拉整个查询到客户端,并从那里,你可以在行号项目。 作为替代方案,你可以写一个使用ROW_NUMBER一个存储过程,然后打的PROC从LINQ到SQL。

在你的情况,你要去的唯一途径能够做到这将是客户端。 请记住下面的语句是不会在服务器上要做到这一点,但会拉低你的整个表格并获得客户的指标...

using (var dc = new DataClasses1DataContext())
{
    var result = dc.Users
        .AsEnumerable()     // select all users from the database and bring them back to the client
        .Select((user, index) => new   // project in the index
        {
            user.Username,
            index
        })
        .Where(user => user.Username == "sivey");    // filter for your specific record

    foreach (var item in result)
    {
        Console.WriteLine(string.Format("{0}:{1}", item.index, item.Username));
    }
}


Answer 2:

您应该能够使用Skip和Take扩展方法来做到这一点。

例如,如果你想第10行:

from c in customers
           where c.Region == "somewhere"
           orderby c.CustomerName
           select new {c.CustomerID, c.CustomerName} 
           .Skip(9).Take(1);


Answer 3:

如何投影行号插入LINQ查询结果
如何投影行号插入LINQ查询结果



文章来源: LINQ statement that returns rownumber of element with id == something?