Linq to SQL - возвращение двух значений одним запросом

2

Можно ли вернуть одно значение и перечислимую коллекцию с использованием LINQ to SQL?

Проблема в том, что я пытаюсь выполнить подкачку через большой набор записей. Я хочу только вернуть 10 строк за раз, поэтому я использую подход .Skip(20).Take(10).

Однако мне нужно знать общее количество записей, поэтому я могу показать соответствующую страницу x y.

Попытка избежать двух отдельных запросов.

Спасибо

Теги:
linq

2 ответа

4
Лучший ответ

Не бойтесь запросов. Сделайте оба.

  • 0
    Я беспокоюсь, что количество страниц может измениться между двумя запросами. Все может выглядеть немного странно.
  • 1
    @Sir Psycho: Тогда используйте TransactionScope .
1

Я наткнулся на эту ту же проблему и закончил с

var q = from i in tableName select i;

int total = q.Count();

foreach(var obj in q.Skip(20).Take(10))
{
    ...
}

Это действительно не проблема вообще

  • 0
    Это нормально, но он выполняет два запроса. Поэтому мой ответ ниже.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню