2010-06-18 29 views
20
.OrderBy(y => y.Year).ThenBy(m => m.Month); 

descending nasıl ayarlanır?linq çok sayıda sipariş TANIMLAMA

DÜZENLEME:

bu çalıştı:

var result = (from dn in db.DealNotes 
         where dn.DealID == dealID       
         group dn by new { month = dn.Date.Month, year = dn.Date.Year } into date 
         orderby date.Key.year descending 
         orderby date.Key.month descending 
         select new DealNoteDateListView { 
          DisplayDate = date.Key.month + "-" + date.Key.year, 
          Month = date.Key.month, 
          Year = date.Key.year, 
          Count = date.Count() 
         }) 
         //.OrderBy(y => y.Year).ThenBy(m => m.Month) 
         ; 

Ve çalışma görünüyor. orderby'u burada kullandığım gibi kullanmak yanlış mı?

cevap

44

Farklı yöntemlerin çiftini kullanarak inen sipariş alabilirsiniz: LINQ sorgusu kullanarak

items.OrderByDescending(y => y.Year).ThenByDescending(m => m.Month); 

yazabilirsiniz:

from date in db.Dates 
orderby date.Key.year descending, date.Key.month descending 
select new { ... } 

hüner yalnızca bir orderby maddesini gerektiğidir - Bunların çoğunu eklerseniz, liste her seferinde yeniden sıralanır. Başka bir anahtar kullanarak ilk anahtar eşit olan öğeleri sıralamak için, , (orderby, veya OrderByDescending dosyalarına çevrilirken, ,ThenBy veya ThenByDescending'a çevrilir).

+0

harika, teşekkürler :) Sorumu düzenledim, lütfen bir göz atabilir misiniz? –

İlgili konular