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 に答える