我目前正在使用AdventureWorks示例數據庫和LinqPad進行操作,以抓取一些想法。Linq結果以不同的順序顯示
這是有問題的查詢:
SalesOrderHeaders.GroupBy (soh => new {soh.CustomerID, soh.BillToAddressID})
.Where(soh => soh.Skip(1).Any())
.Dump();
當時的想法是找到基於一些標準重複,然後顯示他們除了第一組數據。結果應從表格中刪除。
執行查詢後,我得到的結果A)
再次執行查詢後,我得到的結果B)
我不關心查詢的正確的結果,但對結果集的排序。只有這兩種可能性存在,並且它們在查詢的每次運行中交替。 當然,我可以通過鍵來訂購,但我更感興趣,爲什麼這會發生?爲什麼命令chaning /交替?
您的期望導致了一般原則,即向用戶呈現的數據應該是有序的,即使沒有其他理由對其進行排序或行之間的邏輯排序也是如此。 (或者當然,這不適用於像LINQPad和SSMS這樣的開發者工具。) – 2014-09-19 18:52:14