Linq Paging - Как включить общее количество записей - PullRequest
5 голосов
/ 31 марта 2010

Я пытаюсь найти наилучший способ подсчета записей, включающий подкачку страниц.Мне нужно это значение, чтобы вычислить общее количество страниц с учетом размера страницы и нескольких других переменных.
Это то, что я имею до сих пор, которое использует начальную строку и размер страницы с помощью операторов skip и take.

promotionInfo = (from p in matches
orderby p.PROMOTION_NM descending
select p).Skip(startRow).Take(pageSize).ToList();

Я знаю, что мог бы выполнить другой запрос, но подумал, что может быть другой способ достижения этого значения без необходимости повторного выполнения запроса.

Заранее спасибо, Билли

1 Ответ

9 голосов
/ 31 марта 2010

Я знаю, что могу выполнить другой запрос, но подумал, что может быть другой способ достижения этого количества без необходимости повторного выполнения запроса.

Нет, вы должны выполнить запрос.

Вы можете сделать что-то вроде:

var source = from p in matches
             orderby p.PROMOTION_NM descending
             select p;
var count = source.Count();
var promotionInfo = source.Skip(startRow).Take(pageSize).ToList();

Имейте в виду, однако, что Skip(0) не бесплатен .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...