实体框架sql存储过程用where子句

时间:2016-04-04 10:15:20

标签: 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)
                .OrderBy(sortExpression)
                .Skip((request.Page - 1) * request.PageSize)
                .Take(request.PageSize)
                .ToList());

我认为原因是应用程序级别的EF过滤记录(在存储过程的情况下)不在数据库级别,这就是为什么EF将所有记录提取到应用程序然后应用排序和过滤等。

所以在这里我想知道有没有办法以相同的方式执行存储过程,就像我们查询到EF中的表或视图一样,最终使查询包装在你的查询周围,或者我应该将我的存储过程转换为查看

提前致谢

0 个答案:

没有答案