Пейджинг с нахождением с использованием активной записи
-
04-10-2019 - |
Вопрос
Я не могу найти ответ на этот вопрос или хороший пример того, как выполнить то, что я пытаюсь сделать. Я уверен, что это было размещено или объяснить где-то, но у меня проблемы с нахождением точного решения, которое мне нужно.
Я использую ActiveRecord в дозвуковой 3.0.0.4. Когда я делаю что-то вроде
recordset = VehicleModel.Find(x => x.Model.StartsWith(SearchText));
Я вернусь в айлист объектов Vehiclemodel (или более просто записи), это нормально, пока я не вернусь слишком много записей. Я также не могу заказать возвращенный набор записей (моя сетка сделает это нормально, но я уверен, что это будет слишком медленно, если у меня слишком много записей). Быть тем нахождением возвращает IList. Не так много, что я могу бежать прямо против этого (снова я могу с видом на что-то простое, так что, пожалуйста, не убивайте меня).
Мой вопрос - это может кто-то объяснить, как найти данные, такие как я выше, сортируйте его и получите страницу данных, где страница имеет размер 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)