這可能是一個很小的小姐關注的問題:LINQ的排序依據不返回預期的結果
myColl.OrderByDescending(item => item.myCollItemCreationDate)
.GroupBy(item => new { item.Id, item.ItemType, item.ChannelName })
.Select(res => new ChannelRowUi(res.ToList())
{
ChannelName = res.Key.ChannelName,
ItemType = res.Key.ItemType.ToString()
});
但後來我明白我錯了,作爲分組混亂秩序。
我改成:
myColl.GroupBy(item => new { item.Id, item.ItemType, item.ChannelName })
.Select(res => new ChannelRowUi(res.ToList())
{
ChannelName = res.Key.ChannelName,
ItemType = res.Key.ItemType.ToString()
})
.OrderByDescending(item => item.myCollItemCreationDate);
但我仍然得到通過創建時間排序,則最終結果。
任何想法我做錯了什麼?
這真的看起來像1)它不應該編譯(這是另一個問題)或2)'ChannelRowUi'的'CreationDate'沒有設置(這將解釋OrderByDescending「不工作」...) – 2012-04-16 07:07:13