私はSystem.Generic.Collections.List(Of MyCustomClass)タイプのオブジェクトを持っています。Linqを汎用コレクションのページングに使用するにはどうすればよいですか?
整数の可読性ページサイズとページ番号を指定すると、どのようにしてMyCustomClassオブジェクトの任意の1ページだけをクエリできますか?
私はSystem.Generic.Collections.List(Of MyCustomClass)タイプのオブジェクトを持っています。Linqを汎用コレクションのページングに使用するにはどうすればよいですか?
整数の可読性ページサイズとページ番号を指定すると、どのようにしてMyCustomClassオブジェクトの任意の1ページだけをクエリできますか?
表示したいすべての行が含まれているあなたのLINQクエリを使用している場合は、このコードを使用することができます。
var pageNum = 3;
var pageSize = 20;
query = query.Skip((pageNum - 1) * pageSize).Take(pageSize);
あなたは、オブジェクトの拡張メソッドが
を書くことができるようにすることができますquery.Page(2,50)
ことがある場合は2ページの最初の50件のレコードを取得するためにあなたがしたいしたい、情報がsolid code blog.
上でこんにちは、私PagedListと呼ばれる邪悪な事がありますRob Coneryスクリーンキャストを見たときに得ました。
http://blog.wekeroad.com/2007/12/10/aspnet-mvc-pagedlistt/
それはすべてスキップを持っており、内蔵のものを取る。
あなたが行うすべては..私は今それを呼び出し
var query = from item in DB.Table
where item.Field == 1
orderby item.Field2
select item;
PagedList<MyType> pagedList = query.ToPagedList(pageIndex, pageSize);
それが役に立てば幸いを使用していて、それが動作しますlinqからエンティティへはOKです。エンティティにLinqを使用すると、Skip and Takeを使用する前にOrderbyを実行する必要があります。
私はあなたがこれを行うためにTake and Skip機能を持っていると信じています。 –