0

我的表由 3 列(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编写相同的查询

任何人都可以将上面的sql查询更改为linq。我无法做到这一点,因为我是 linq 的新手。我遇到了这个问题,请帮助我提前谢谢你

4

1 回答 1

2

您可以如下编写查询

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();
于 2013-05-16T09:02:56.257 回答