Если у вас есть записи, хранящиеся в базе данных, я бы получил их количество и использовал бы этот номер для подкачки.Затем я бы запросил те, которые я хочу видеть на каждой странице.
string.Format(@"
SELECT TOP {0} * FROM Records WHERE pkId NOT IN (
SELECT TOP {1} pkId FROM Records ORDER BY pkId
) ORDER BY pkId;",
upperBoundary,
lowerBoundary
);
Где upperBoundary
будет, например, lowerBoundary + itemsPerPage
.Используя MSSQL, мы не можем позволить себе такую роскошь, как функция LIMIT в MySQL, но она делает то же самое.Кстати, потому что это приводит к небольшому трафику, и если вы кешируете количество записей, у вас также не будет большого количества запросов.