ページング、並べ替え、フィルタリングを適用してもEntity Framework(EF)でストアドプロシージャを実行するとすべてのレコードが返されます。ページング、ソート、フィルタリングを適用してもEntity Framework(EF)ですべてのレコードを返すストアドプロシージャの実行
以下はコードです。
var result = base.Context.proc_App_Contracts_All(Customer_No).AsQueryable()
.Where(filterExpression == null ? e => e.Contract_Number == e.Contract_Number : filterExpression)
.OrderBy(sortExpression)
.Skip((request.Page - 1) * request.PageSize)
.Take(request.PageSize)
.ToList());
私はEFは、アプリケーションにすべてのレコードをフェッチして、など
ソートやフィルタリングを適用する理由です、データベースレベルで(ストアドプロシージャの場合)その理由は、アプリケーションレベルでのEFフィルタリングレコードではないと思いますここでは、ストアドプロシージャを同じ方法で実行する方法があることを知りたいのですが、EFのテーブルやビューにクエリを実行してクエリのラッパーを最終的に作成するようにしたり、ストアドプロシージャをSQLビュー。事前
ストアドプロシージャは再利用されません** IQueryable **はあなたのproc_Contracts_All plsを記述し、DbContextでどのように設定しましたか? –