2012-02-28 2 views
9

У меня есть запрос Linq, который возвращает список ordererd, который он работает, но при сортировке логического значения он всегда ставит ложные элементы в первую очередь.Linq orderyby boolean

return from workers in db.Workers 
       orderby workers.active, workers.naam 
       select workers; 

Есть ли способ заказать настоящие предметы в первую очередь.

Спасибо за помощь

Дэвид

ответ

9

Используйте заказ descending вариант, и он будет полностью изменить список. См. MSDN Soring Data для получения дополнительных примеров сортировки.

return from workers in db.Workers 
      orderby workers.active descending, workers.naam 
      select workers; 
28

Метод OrderBy будет сортировать элементы в порядке возрастания по умолчанию. Теперь, учитывая, что числовое представление булево является:

  • false = 0
  • true = 1

false значения, естественно, в первую очередь. Если вы хотите отменить заказ, используйте ключевое слово descending:

return from workers in db.Workers 
       orderby workers.active descending, workers.naam 
       select workers; 
Смежные вопросы