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

同じ問題に直面し、カスタマイズ可能な IQueryable オブジェクトを渡す独自の PagedList<> を作成できることがわかりました。以下に示すように、ページネーションの前に、独自の where 句を追加します。

IQueryable<YourObject> yourQuery = _repository.All().Where(x => x.IsAdmin == false);

return new PagedList<YourObject>(yourQuery, pageNo, pageSize);

デフォルトの順序列として主キーを使用していないのは、バグまたは設計上の制限 (V3.03) のいずれかだと思うので、OrderBy 句を追加する必要があるかもしれません。

これは、後のバージョンでは、where 句なしでページ分割することはほとんどなく、tt テンプレートを更新するのにあまり役に立たないため、考慮されると確信しています。

于 2009-08-17T14:12:37.277 に答える