Пейджинг с нахождением с использованием активной записи

StackOverflow https://stackoverflow.com/questions/2799821

  •  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)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top