Вы можете добавить их в список, прежде чем группировать их.
это довольно просто разместить в памяти этот материал:
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;