.OrderBy(y => y.Year).ThenBy(m => m.Month);
descending
の順序を設定するにはどうすればよいですか?
[〜#〜]編集[〜#〜]:
私はこれを試しました:
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)
;
そして、それは機能しているようです。ここで使用したようにorderby
を2回使用するのは間違っていますか?
別のメソッドのペアを使用して、降順を取得できます。
items.OrderByDescending(y => y.Year).ThenByDescending(m => m.Month);
LINQクエリを使用すると、次のように記述できます。
from date in db.Dates
orderby date.Key.year descending, date.Key.month descending
select new { ... }
秘訣は、必要なorderby
句が1つだけであるということです。これらを複数追加すると、リストは毎回並べ替えられます。最初のキーが等しい要素を別のキーを使用して並べ替えるには、,
を使用して要素を区切る必要があります(orderby
はOrderBy
またはOrderByDescending
に変換されますが,
はThenBy
またはThenByDescending
に変換されます)。