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

System.Linq.Dynamic не поддерживает OrderByDescending ( "someColumn" )?

Хорошо, поэтому в нашем проекте я использую библиотеку System.Linq.Dynamic, но я только заметил, что я не могу сделать следующее:

myDataSource.OrderByDescending( "someColumnName" )

Потому что я получаю следующую ошибку:

Не удалось выполнить перегрузку, потому что с помощью этих аргументов нельзя вызвать доступ к OrderByDescending...

Кажется, что библиотека поддерживает только OrderBy ( "someColumnName" ). Есть ли причина для этого и как я обойду эту проблему, если я захочу изменить порядок записей в порядке убывания? Должен ли я пользователь Reverse(), например OrderBy ( "someColumnName" ). Reverse()? Похоже на взлом...

Любые советы будут очень признательны...

4b9b3361

Ответ 1

Предполагая, что вы используете файлы DynamicQuery Helper из библиотеки образцов Microsoft (которые находятся в пространстве имен System.Linq.Dynamic), то после прочтения исходного кода, похоже, вам нужно указать порядок, который вы хотите, следующим образом:

myDataSource.OrderBy("someColumnName descending")

Ответ 2

Если вы используете строковые значения (например, я), вам нужно будет связать его со строкой, как это:

myDataSource.OrderBy(columnName + " descending");

Не забудьте добавить пробел перед "нисходящим", иначе вы получите сообщение об ошибке.