下面的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。你是對的 - 這是一個假設。 –