使用实体框架(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中的表或视图一样,最终使查询包装在你的查询周围,或者我应该将我的存储过程转换为查看
提前致谢