@Ladislav が言ったように、EF 5 は OFFSET と FETCH をサポートしていません。そうは言っても、私は少し視点を追加したいと思いました。大した問題ではないと思います。
Entity Framework のような ORM を購入すると、クエリの生成を外部に委託することになります (完全に正当な理由により)。 EF が「古い」CTE
を使用するかどうか Row_Number()
を使用したスタイル クエリ または新しい Fetch
/ Offset
実装の詳細です。 Microsoft はいつでも EF コードを更新し、クエリ生成を変更してどちらか一方を使用することができます。
クエリの生成を制御したい場合は、次のいずれかを行います:
- EF の「ストアド プロシージャ マッピング」機能を使用する
- ストアド プロシージャを EF で直接使用する (私が頻繁に行うこと)
- ADO/SQL を自分で作成するか、
- massage/PetaPoco などのより制限されたマイクロオームを使用する
それは重要ですか?
クエリを作成する開発者にとって、新しい構文は歓迎すべき安心となるでしょう。一方、それは 表示されない 実際のパフォーマンスの違い があること 古い CTE メソッドと新しい構文。 EF の観点から言えば、そうではありません。 かなりのオーバーヘッド が発生します EF を使用する場合、ページングの方法はおそらくブレークポイントにはなりません。