3

私はデータベース アプリケーションの初心者です。

より少ないメモリ フットプリントでページネーションを実装したいと考えています。アプリケーションは、MS SQL Server 2008 R2 DB に接続されています。

私が持っているテーブルは何千ものレコードで構成されており、アプリケーションは特定の基準でレコードをクエリできます。

クエリに LINQ-SQL を使用する現在の実装では、データ全体がアプリケーションに返されます。クエリが返す結果が多すぎると、プロセス メモリが使い果たされる可能性があります。したがって、これをページとして実装したいと思います。

データをページ分割できるいくつかのストアド プロシージャを Web で見つけました。

標準のページネーションが次の要件を満たすのに役立つかどうかわかりません

  • メモリ フットプリントを削減し、オンデマンドで必要な結果のみを返します。
  • クエリのステータスを保持します。ユーザーがビューでデータを見ている間に、同じレコードを更新できます。したがって、テーブルの現在の状態に関係なく、最後のクエリに関して、状態と結果の数を維持する必要があります。
  • ページネーションの実装に LINQ を使用する場合、結果全体を保存するプロセスが読み込まれますか?
4

2 に答える 2

5

ページネーションはLinqを使用しても問題ありません。次を使用してページネーションを実行できTake()ますSkip()

var page = list.Skip((pageNo - 1) * pageSize)
               .Take(pageSize)
于 2012-07-12T05:57:20.793 に答える
3

グリッド ビュー コントロールには、次の機能があります。

  • Linq 2 SQL のサポート
  • Linq 2 SQL を使用したカスタム ページング
  • ソート方向の表示
  • ページャーのドロップダウンでページ内のレコード数を調整

LINQ TO SQL GridView (強化された Gridview)

于 2012-07-12T05:20:37.673 に答える