它似乎是這樣,但我無法找到關於這個問題的任何明確的文件。Linq到Sql中的組是否已按Count()降序排序?
什麼我問的是,如果該查詢的結果:
是永遠不變的是下面的查詢:
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以這種方式自動對組進行排序,而documentation似乎表明情況正好相反 - 項目按照它們出現在select中的順序返回。我想,如果它按照這種方式排序,增加額外的排序是毫無意義的,浪費週期,並且會更好地排除在外。
你打開了Sql Profiler嗎?它實際上在Select的結尾附加了一個orderby嗎? – BFree 2009-05-24 16:38:46