Linq, как выбрать только небольшое подмножество большого набора результатов? - PullRequest
0 голосов
/ 23 марта 2012

У меня есть выбор из огромного набора данных, и я хотел бы использовать подкачку и выбрать только k элементов, начиная с o-го элемента в наборе, для поддержки моей подкачки. Мне не нравится идея загружать весь набор данных с помощью linq, а затем получать только подмножество, используя метод GetRange, потому что количество элементов может быть очень большим. Например, если у меня есть 6 000 000 строк в таблице и я хочу показать их, используя размер подкачки 10, а мы смотрим на 5-ю страницу, я хотел бы сгенерировать запрос SQL Server, используя Linq, который выберу только 10 элементов моей большой таблицы из 6 000 000 строк, потому что таким образом мое приложение будет более эффективным.

Кто-нибудь знает о поддержке подкачки в Linq?

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

Лайош Арпад.

Ответы [ 3 ]

1 голос
/ 23 марта 2012

Используйте Skip и Take.

collection.Skip(pageIndex * pageSize).Take(pageSize);
0 голосов
/ 23 марта 2012

Вы можете использовать Take и Skip.

var page = query.Skip(1000).Take(10);
0 голосов
/ 23 марта 2012

Вы можете использовать Пропустить и Взять методы

query = context.Table.Skip(number).Take(number);
...