2009-07-30 13 views
0

リポジトリには、GetPagedListメソッドがあります。Subsonic 3 - リポジトリGetPagedList Where句キャストの問題

は、私は今のタイプに変わり、私が今

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

このよういくつかのチェックなどを行う必要がありますしかし、私は現在、

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

を持って

PagedList

のリターンを期待する方法を持っていますIEnumerable。私はキャスト>()をやってみましたが、どちらもうまくいきません。

答えて

2

同じ問題に直面し、独自のPagedList <を作成して、カスタマイズ可能なIQueryableオブジェクトを渡すことができることがわかりました。あなたのページの下には、改ページする前に、自分のwhere節を追加します。

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

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

私はそれがデフォルトの順序列として主キーを使用していないバグや設計上の制限(V3.03)のどちらかだと思うのようにして、[並べ替え句を追加する必要があります。

これは、後のバージョンではどこの節もなくページを区切ることは非常に稀で、ttテンプレートを更新することはあまりありません。

+0

優秀、私は今この方法を使用しており、素晴らしいです – davethecoder