ここからPagedList.Mvcライブラリを試しています
https://github.com/TroyGoode/PagedList
この使用例がある
var products = MyProductDataSource.FindAllProducts(); //returns IQueryable<Product> representing an unknown number of products. a thousand maybe?
var pageNumber = page ?? 1; // if no page was specified in the querystring, default to the first page (1)
var onePageOfProducts = products.ToPagedList(pageNumber, 25); // will only contain 25 products max because of the pageSize
MyProductDataSource.FindAllProducts(); の典型的な実装。の線に沿っている
public IQuerable<T> MyProductDataSource.FindAllProducts()
{
using ( var ctx = new MyCtx() )
{
return ctx.MyList().Where( .... );
}
}
もちろん、これには InvalidOperationException() があり、DBContext は既に破棄されていますというメッセージ
ここで問題なく使用できる IQueryable を返す方法のベスト プラクティスをお探しですか?