Подтвердить что ты не робот

Linq несколько заказов DESCENDING

.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 дважды, как я использовал его здесь?

4b9b3361

Ответ 1

Вы можете получить убывающее упорядочение с помощью другой пары методов:

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).