そのように見えますが、この件に関する決定的な文書は見つかりません。
私が求めているのは、このクエリの結果:
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()
2 番目のクエリでは、Linq がグループの順序を決定できることに注意してください。最初のクエリでは、グループの順序が販売数として設定されています。
私のアドホック テストでは、Linq がこの方法でグループを自動的に並べ替えることが示されているように見えますが、ドキュメントでは、その逆が真であることが示されているようです。項目は選択に表示される順序で返されます。このようにソートされている場合、余分なソートを追加しても意味がなく、サイクルが無駄になるため、省略したほうがよいでしょう。