Похоже, но я не могу найти какую-либо конкретную документацию по этому вопросу.
Я спрашиваю, если результат этого запроса:
from x
in Db.Items
join y in Db.Sales on x.Id equals y.ItemId
group x by x.Id into g
orderby g.Count() descending
select g.First()
ВСЕГДА ТАК ЖЕ, как следующий запрос:
from x
in Db.Items
join y in Db.Sales on x.Id equals y.ItemId
group x by x.Id into g
select g.First()
обратите внимание, что второй запрос позволяет Linq определить порядок группы, который в первом запросе определяется как проданное число, от большинства к наименьшему.
Мои специальные тесты, кажется, указывают, что Linq автоматически сортирует группы таким образом, в то время как документация , кажется, указывает на то, что верно обратное - элементы возвращаются в порядке, в котором они отображаются в выборке. Я полагаю, что если сортировка происходит таким образом, добавление дополнительной сортировки не имеет смысла и тратит впустую циклы, и было бы лучше обойтись без него.