这可能是一个很小的小姐关注的问题: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