在Repository中有一个GetPagedList方法。
我有一个期望返回PagedList
的方法我目前有
return _repository.GetPaged(sortBy, pageNumber, 20);
但是我现在需要进行一些检查,例如
_repository.GetPaged(sortBy, pageNumber, 20).Where(x => x.IsAdmin == false)
现在将类型更改为IEnumerable。我试过做一个Cast>(),但这也不起作用。
任何帮助表示赞赏!
答案 0 :(得分:2)
遇到同样的问题,发现你可以创建自己的PagedList<>传入可自定义的IQueryable对象。如下所示,在分页之前添加自己的where子句。
IQueryable<YourObject> yourQuery = _repository.All().Where(x => x.IsAdmin == false);
return new PagedList<YourObject>(yourQuery, pageNo, pageSize);
您可能需要添加一个OrderBy子句,因为我认为这是一个错误或设计限制(V3.03),而不是使用主键作为默认订单列。
我确信在以后的版本中会考虑这种情况,因为它很少在没有任何where子句的情况下进行分页,并且更新tt模板的工作量也不大。