アクティブレコードを使用して検索したページング
-
04-10-2019 - |
質問
この質問に対する答えや、やろうとしていることを達成する方法の良い例を見つけることができないようです。どこかに投稿または説明されていると確信していますが、必要な正確な解決策を見つけるのに苦労しています。
私は亜音速3.0.0.4でActiverCordを使用しています。私がようなことをするとき
recordset = VehicleModel.Find(x => x.Model.StartsWith(SearchText));
車両のオブジェクト(またはより単純にレコードセット)のイリストを取り戻します。これは、あまりにも多くのレコードを返すまで問題ありません。また、返されたレコードのセットを注文することもできません(私のグリッドはこれを順調に実行しますが、レコードが多すぎると遅すぎると確信しています)。その発見は、イリストを返すことです。私がこれに直接走ることができることはあまりありません(繰り返しますが、私はシンプルなものを見落としているかもしれませんので、私を殺さないでください)。
私の質問は、誰かが私のようなデータを見つけて、それを並べ替えて、ページがサイズnのデータのページを取得する方法を説明できますか?
私はこれを間違っていますか?私は正しい軌道に乗っていることさえ近づいていますか?
解決
int currentPage = x
int pageSize = n
recordset = VehicleModel.Find(x => x.Model.StartsWith(SearchText)).Skip(currentPage x PageSize).Take(PageSize);
これは、currentPageが0から始まると仮定しています。
現在のページが1から始まる場合、それは Skip((currentPage - 1) x PageSize)
所属していません StackOverflow