私はマイクロソフトによって与えられ、この例を見ていると私は完全に彼らが何をしようとしてのポイントを得る:http://www.asp.net/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application巨大なデータセットでリポジトリパターンを効率的に実装する方法は? (ページングなど)
私の質問は:やったときにどのように効率的にこれを実装しますページングや膨大なデータセット(何百万以上のレコード)を扱うか?このコードを読んでいる方法では、GetStudentsをリポジトリから呼び出すたびに、データセット全体をリストすることができます。リポジトリで検索、並べ替え、ページングを効率的に実装するにはどうすればよいですか(アプリケーションではフィルタ/ページング/並べ替え操作を行うためにすべての行をクエリする必要はありません。私の特別なケースでは、私はEntity Frameworkについて話しています。以前は効率的なクエリにIQueryableを使用しましたが、リポジトリパターンを使用して効率的なストアクエリを生成する方法はありません。助けてください!
フィルタは 'IQueryable'に適用された後にToList *を実行するので、フィルタリングされた結果セットだけがデータベースから返されます。 –
データベースのデータセットをフィルタリング/ページするためにカスタムチューニングされたストアドプロシージャを作成すると、最高のパフォーマンスが得られる可能性があります。リポジトリ・パターンを使用することはできますが、EFを使用せずにデータベース・コールを自動生成するだけです。 – dbugger
@GertArnold時々、フィルタリングされた結果セットはまだ100万レコードです:-) – Pugz