Как вы размещаете IGrouping на сгруппированных элементах, а не на группе?
Я пытаюсь использовать пропуск и взять IGrouping, но я не хочу, чтобы страница сгруппированного ключа, я хочу сделать это на элементы, которые были сгруппированы.
1 ответ
Вы можете добавить их в список, прежде чем группировать их.
это довольно легко разместить в памяти этот материал:
var page =
(
from g in groups
from item in g
select item
).Skip(100).Take(20);
Это не очень хорошо переводится в sql - вот почему никто не отвечает. Проблема в том, что когда вы запрашиваете элементы группы, linq To Sql повторно запрашивает базу данных по ключу группы, чтобы получить эти элементы. Именно поэтому лучше заказать и страницу без группировки.
Вы можете добиться условного упорядочения с помощью троичного оператора:
var query =
from c in Customers
order c by
c.Name.StartsWith("B") ? 1 :
c.Orders.Any() ? 2 :
3,
c.Name
select c;