Невозможно отсортировать подэлементы GroupBy [дубликат]C#

Место общения программистов C#
Ответить
Anonymous
 Невозможно отсортировать подэлементы GroupBy [дубликат]

Сообщение Anonymous »

У меня есть функция, показанная ниже. Он создает список SelectListItem с треками на каждом объекте. Кроме того, я группирую треки по объектам.
Все работает, за исключением того, что подпункты (сами треки) не сортируются.
Первое предложение OrderBy() сортирует данные по названию объекта. Это работает должным образом.
Предложение thenBy() выполняет сортировку по имени дорожки. Моя цель состоит в том, чтобы каждый трек на объекте также был отсортирован. Насколько я понимаю, GroupBy() не меняет порядок ввода. Однако эти треки вообще не отображаются отсортированными.

Код: Выделить всё

private async Task GetTrackOptionsAsync()
{
var userContext = await UserContextService.GetUserContextAsync();
var facilities = DbContext.Tracks
.Where(t => t.Facility.CompanyId == userContext.CompanyId)
.OrderBy(t => t.Facility.Name)
.ThenBy(t => t.Name)
.Select(t => new { t.Id, t.Name, t.FacilityId, FacilityName = t.Facility.Name })
.GroupBy(t => new { t.FacilityId, t.FacilityName })
.AsAsyncEnumerable();

List options = [];
await foreach (var facility in facilities)
{
SelectListGroup group = new() { Name = facility.Key.FacilityName };
foreach (var track in facility)
options.Add(new(track.Name, track.Id.ToString()) { Group = group });
}
return options;
}
Может ли кто-нибудь увидеть, чего мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/786 ... y-subitems
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»