带有where子句的实体框架sql存储过程

带有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)

执行存储过程,实体框架(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中查询一个表或视图,最终在您的查询周围生成一个查询包装器,或者我应该将存储过程转换为视图


提前谢谢

请出示您的代码。请帮我清除它。