下面的linq查询未返回序列字段以降序排序的结果。相反的结果,而不考虑排序依据返回:对来自Linq的输出进行分组排序
var qr = from l in reports.layouts
where l.job == jobNumber
orderby l.sequence descending
group l by l.filename;
但是下面的代码能够返回由filename字段分组的结果,并下令由序列字段decending:
var qr = reports.layouts
.Where(l => l.job == jobNumber)
.OrderBy(l => l.filename)
.GroupBy(l => l.filename, (l, c) => c.OrderByDescending(x => x.sequence));
灿任何人都可以提供有关如何编写第一个查询以便按照所需降序返回结果的任何见解?
似乎不是:http://stackoverflow.com/questions/1452507/linq-to-objects-does-groupby-preserve-order-of-elements –
@DavidB:这对于LINQ to Objects来说是正确的,但不一定是其他的LINQ来源。请参阅Queryable.GroupBy的文档,并注意未指定:http://msdn.microsoft.com/en-us/library/bb549270.aspx –
当然可以。 OP没有指定什么查询源。由于它不是DataContext或ObjectContext或DBContext,我推测LinqToObjects。你是对的 - 这是一个假设。 –