Subsonic 2.2 ActiveRecord から 3.0.0.3 にアップデートしました。LINQ を使用して、次のようなページ検索クエリを実行しようとしています (私のオブジェクト/テーブルは「リポジトリ」と呼ばれます)。
Repository.Find(item => item.DocumentTitle.Contains(searchTerm))
.OrderBy(i => i.DocumentTitle).Skip((currentPage - 1) * itemsPerPage)
.Take(itemsPerPage);
SQL Server プロファイラーを使用してこのクエリによって生成された SQL を表示すると、SQL にページングはなく、すべてのページングは C# のメモリ内で行われています。現在、Subsonic クエリ言語には適切に機能する優れた GetPaged プロシージャがありますが、LINQ もこれを行う必要があると思いました。ここで何かを見逃したことがありますか、それとも LINQ の制限ですか?
私はRepository.GetPaged()
関数を認識していますが、十分なパラメーターがありません.動的ソートとFind()
.