基本上,我有一个类似的陈述
Contents
.Where(x=>x.CategoryId==5 && x.Status==1)
.GroupBy(q=>q.VersionId)
.OrderByDescending(q=>q.Key)
.Take(100)
.Select(q => new { VersionId = q.Key, MajorVersion = q.Max(x => x.MajorVersion) })
此刻,它看起来像下面。但我想将MajorVersion字段重新排序为降序......
VersionId MajorVersion
387276 2
365015 1
355427 3
369865 1
我该怎么做?
答案 0 :(得分:2)
选择返回IEnumerable
,以便您可以在之后进行进一步的排序/排序等。
Contents
.Where(x => x.CategoryId == 5 && x.Status == 1)
.GroupBy(q => q.VersionId)
.OrderByDescending(q => q.Key)
.Take(100)
.Select(q => new { VersionId = q.Key, MajorVersion = q.Max(x => x.MajorVersion) })
.OrderByDescending(x => x.MajorVersion);
答案 1 :(得分:1)
只需在OrderByDescending
之后移动Select
然后,您可以按选择中的字段进行排序。 (因为你将在OrderByDescending
返回的匿名类型的IQueryable上调用Select()