0

在存储库中有一个 GetPagedList 方法。

我有一个期望返回 PagedList 的方法

我目前有

return _repository.GetPaged(sortBy, pageNumber, 20);

但是我现在需要做一些检查,例如

_repository.GetPaged(sortBy, pageNumber, 20).Where(x => x.IsAdmin == false)

这现在将类型更改为 IEnumerable。我试过做一个 Cast>() 但这也不起作用。

任何帮助表示赞赏!

4

1 回答 1

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 模板不会做太多工作。

于 2009-08-17T14:12:37.277 回答