无法将类型IQueryable隐式转换为IOrderedQueryable

时间:2017-04-05 20:33:21

标签: c# entity-framework linq

var log = string.IsNullOrEmpty(filter?.search) 
 ? _appLog.Get().OrderByDescending(x => x.Date)
 : _appLog.Get().Where(p => p.ProcessName == filter.Search).OrderByDescending(x => x.Date);

log = Pagination(log.AsQueryable(), filter, "Date", "LogList");

当log.AsQueryable()尝试从IOrderedQueryable转换为IQueryable时,错误发生在分页

  

无法将IQueryable类型隐式转换为IOrderedQueryable

有人知道如何用另一种方式做到这一点吗?

1 个答案:

答案 0 :(得分:0)

我认为这里的问题是Pagination()返回IQueryable<T>,但您将结果分配回log IOrderedQueryable<T>(因为条件操作的两个部分)订购)。幸运的是,您似乎没有使用有序部分,因此您可能只是第一次更改log ,而不是IQueryable<T>而不是var }(正在拾取IOrderedQueryable<T>):

IQueryable<whatever> log = ...

或者,只需为结果使用不同的变量:

var query = ...
var log = Pagination(query, filter, "Date", "LogList");