带有where子句的实体框架sql存储过程
执行存储过程,实体框架(EF)返回所有记录,即使我应用了分页、排序和筛选。 下面是代码带有where子句的实体框架sql存储过程,sql,entity-framework,Sql,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)
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中查询一个表或视图,最终在您的查询周围生成一个查询包装器,或者我应该将存储过程转换为视图
提前谢谢请出示您的代码。请帮我清除它。