.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
两次是错误的吗?
答案 0 :(得分:50)
您可以使用不同的方法对来获得降序排序:
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
子句 - 如果你添加其中的多个子句,每次都会重新排序列表。要使用其他键对第一个键相等的元素进行排序,您需要使用,
将其分开(orderby
被翻译为OrderBy
或OrderByDescending
而,
被翻译为ThenBy
或ThenByDescending
)。