我的表由三列组成(sno、name、age)。我正在使用额外的列(行号)从数据库中检索此表,我使用了以下代码:
select * from (
select ROW_NUMBER() over (order by SNo asc)as rowindex,SNo,Name,Age
from tblExample)
as example where rowindex between ((pageindex*10)+1) and ((pageindex+1)*10)
请注意,pageindex 是一个变量,它接受用户传递的一些整数值。
我的数据库是 Sql Server 2008。我想使用 Linq 编写相同的查询。我该怎么做?
最佳答案
你可以像下面这样写查询
var index=1;
var pageIndex=1;
var pageSize = 10;
data.Select(x => new
{
RowIndex = index++,
Sno = x.Sno,
Name = x.Name,
Age = x.Age
}).OrderBy(x => x.Name)
.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();
关于c# - 如何将使用 ROW_NUMBER() 的查询转换为 linq?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17788400/