Методы пейджинга PetaPoco перегружены, и вы можете предоставлять запросы как для выбора, так и для пейджинга Page<T> Page<T>(long page, long itemsPerPage, Sql sqlCount, Sql sqlPage);
. Это позволяет вам делать пользовательские нумерации страниц.
Пагинация в PetaPoco - это, по сути, запрос для подсчета общего количества записей и запрос для извлечения текущей страницы. Вы могли бы сделать с T ExecuteScalar<T>
и List<T> Fetch<T>
, если вы хотите свернуть свои собственные.
Чтобы правильно разбить на страницы, вам нужно запросить родительскую таблицу, присоединяющуюся к дочерней таблице, и применить порядок. Когда у вас есть это, вы можете страницу. Однако родительская строка / информация будет дублироваться для каждого дочернего элемента, к которому вы присоединитесь. Если вы еще этого не сделали, я бы предложил метод, при котором вам нужно только выбрать и просмотреть дочерние строки. Таким образом, если бы это был пользовательский интерфейс, пользователь мог бы выбрать родительскую запись, тогда вы должны показать список дочерних записей. Это уменьшит сложность логики запроса.