行数在linq的帮助下

时间:2013-05-16 08:55:58

标签: linq linq-to-sql

我的表由3列(sno,名称,年龄)组成,现在我从数据库中使用额外列(行号)检索此表,我使用以下代码

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

编写相同的查询

任何人都可以将abovesql查询更改为linq。我不能这样做,因为我是linq的新手。我想到了这个问题,请提前帮助我谢谢

1 个答案:

答案 0 :(得分:2)

您可以将查询编写为beow

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();