.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
дважды как я использовал его здесь?
Вы можете получить порядок убывания, используя другую пару методов:
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
).