OrderBy之后再GroupBy导致被重新排序的问题
db.t_News.OrderByDescending(q => q.ID).Take(400).GroupBy(q => q.Tags)
本来以为结果是按照ID的倒序排列,结果
GroupBy之后,key会自动按照自己的一套从小到大重新排序
应该怎么破?。。
目的是取出最后400条数据,根据tags分组之后,按照分组里面的最大ID值来排序key出现的顺序。
              
------解决方案--------------------var list = db.t_News.OrderByDescending(q => q.ID).ToList();
var query = list.Take(400).GroupBy(q => q.Tags);
将OrderBy的结果固定下来。
------解决方案--------------------理论上来讲,当执行到 db.t_News.OrderByDescending(q => q.ID).Take(400)  Take()这后,数据就已经加载到内存里了
我不是很明白楼主的意图,比如有这样的数据:
ID   Tag
100  A
110  B
120  A
130  B
你想最终显示的效果是什么样?
结果1:
ID   Tag
130  B
110  B
120  A
100  A
结果2:
ID   Tag
130  B
120  A
110  B
100  A
------解决方案--------------------结果1: 
db.t_News.OrderByDescending(q => q.ID).Take(400).GroupBy(q => q.Tags).OrderByDescending(g=>g.Max(x=>x.ID);
结果2:
db.t_News.OrderByDescending(q => q.ID).Take(400);