MVCで大量のデータ(DBは2-300万レコード)にページング、検索、ソートを実装したいと思います。 MVCで(PagedList.Mvc
、@Html.PagedListPager
を使用して)デフォルトのページングオプションを使用している間は、すべてのレコードがDB &のためにフェッチされ、100レコードのみがページに表示されます。それは多くのメモリを使用して時間がかかる&です。MVCでカスタムロジックを使用して大量のデータをページングする
MVCでカスタムロジックを実装すると、1ページあたり100個のレコードしか取得できないのですか?現在私は両方のアプローチ(EFとSPを使用して)を試みています。
私は既にEF & SPを使用してサンプルアプリケーションを開発し、デフォルトのページングを実装しています。しかし、どちらの方法もDBからすべてのレコードを取得し、クライアント側でページングを適用します。それはあまりにも時間がかかります。
public ActionResult Index(int? page) {
return View(db.TestUploadData2.ToList().ToPagedList(page ?? 1, 100));
}
お勧めはありますか?
EFクエリも共有できますか? – Sampath
日付選択を使用してデータを表示することはできませんか?一度に多くのデータを表示する目的は何ですか? – Sampath
'PagedList.Mvc'を使うと、' .Skip() 'と' .Take'を使って 'IQueryable 'を返します。ページサイズが100の場合は100レコードをメモリに返します –