0

基本的に、私はそのような声明を持っています

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

それ、どうやったら出来るの?

4

2 に答える 2

2

Select は を返す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);
于 2013-03-05T16:30:10.850 に答える
1

OrderByDescendingの後に を移動するだけSelectです。
その後、選択したフィールドで並べ替えることができます。OrderByDescending(によって返される匿名型の IQueryable を呼び出すためSelect())

于 2013-03-05T16:27:37.623 に答える