OrderByDescending в списке DateTime не работает? - PullRequest
2 голосов
/ 25 июля 2011

В лямбда-выражении, как вы упорядочиваете список значений DateTime, а не объекта?Например, я хочу получить самые последние 3 даты выплаты по следующему запросу:

 var hires = (from e in md.Employee
             where e.HireDate.Year == 2011
             select e.HireDate).Distinct();

 //at this point hires =
   6/3/2011
   5/15/2011
   6/1/2011
   7/1/2011

Я предполагал, что я могу сделать .OrderByDescending(x => x).Take(3), но когда я это делаю, я не получаю 7 /1/2011 (только первые 3 выше).Это как OrderByDescending игнорируется.

Что я делаю не так?

1 Ответ

3 голосов
/ 25 июля 2011

Вы уверены, что выставляете заказ в отдельном и правильном порядке?

Попробуйте:

var hires = (from e in md.Employee
    where e.HireDate.Year == 2011
    select e.HireDate).Distinct().OrderByDescending(e => e);
...