Linq ';IEnumerable<&燃气轮机';不包含';订购人';

Linq ';IEnumerable<&燃气轮机';不包含';订购人';,linq,Linq,错误CS1929“IEnumerable”不包含 “OrderBy”的定义和最佳扩展方法重载 'DynamicQueryableExtensions.OrderBy(IQueryable,string,params 对象[])需要类型为“IQueryable”的接收器 我在下面的查询中得到了这个错误 var designationDtos = queryResult.Select(x => { var designationDto = ObjectMapper.Map<Des

错误CS1929“IEnumerable”不包含 “OrderBy”的定义和最佳扩展方法重载 'DynamicQueryableExtensions.OrderBy(IQueryable,string,params 对象[])需要类型为“IQueryable”的接收器

我在下面的查询中得到了这个错误

var designationDtos = queryResult.Select(x =>
{
    var designationDto = ObjectMapper.Map<Designation, DesignationDto>(x.designation);
    designationDto.DepartmentName = x.department.Name;
    return designationDto;
}).OrderBy(input.Sorting).ToList();
var-designationDtos=queryResult.Select(x=>
{
var designationDto=ObjectMapper.Map(x.designation);
designationDto.DepartmentName=x.department.Name;
返回到;
}).OrderBy(input.Sorting).ToList();

问题在于OrderBy。如果我删除orderby,那么一切正常。排序是一个字符串。

这是因为
IEnumerable
没有这样的
OrderBy
,但是您有接受这些参数的
IQueryable
的自定义扩展

var-designationDtos=queryResult.Select(x=>
{
var designationDto=ObjectMapper.Map(x.designation);
designationDto.DepartmentName=x.department.Name;
返回到;
})
.AsQueryable()
.OrderBy(输入.排序)
.ToList();

也考虑不要在这个查询或完成映射配置中使用AutoPAPER,那么查询可以更有效。

query.ProjectTo(配置)
.OrderBy(输入.排序)
.ToList();