В C # мы можем использовать деревья выражений для указания сортировки в методах SortBy, SortByDescending, ThenBy и ThenByDescending, как в этом примере:
await collection.Find(FilterDefinition<Student>.Empty)
.Skip((currentPage - 1) * pageSize)
.Limit(pageSize)
.SortByDescending(x => x.LastName)
.ThenBy(x => x.Age)
.ForEachAsync(
student =>
{
Console.WriteLine($"S/N: {count}, \t Id: {student.Id}, FirstName: {student.FirstName}, LastName: {student.LastName}, Age: {student.Age}");
count++;
});
но я не очень хорошо это понимаю. Я предполагаю, что «ThenBy» означает как-то «ThenBy Ascending», пожалуйста, поправьте меня, если я ошибаюсь.
Возвращаясь к вопросу, то есть можем ли мы объединить команды сортировки для получения результатов в порядке следования команд? то есть что-то подобное правильно? :
await collection.Find(FilterDefinition<Student>.Empty)
.SortByDescending(x => x.LastName)
.ThenBy(x => x.Age)
.ThenByDescending(x => x.LIQUIDITY)
.ThenBy(x => x.“PERFORMANCE”)
.ThenByDescending(x => x.“VOLUME”)
...
Кроме того, как вы применяете настройки сортировки, если вы не знаете заранее критериев? т.е. вместо
.SortByDescending(x => x.LastName)
критерии LastName были бы заданы в другом месте кода, например, в виде строки.
Спасибо за вашу помощь