В моем приложении ASP.NET Core есть следующая модель:
public class LocationTypeGroup {
public string Name { get; set; }
public IEnumerable<LocationType> LocationTypes { get; set; }
}
public class LocationType
{
[Key]
public int LocationTypeID { get; set; }
public string Name { get; set; }
public string IntExt { get; set; }
}
Я пытаюсь выполнить запрос, который группирует их по IntExt и сортирует по имени в каждой группе.
Следующее работает, но не сортирует:
public async Task<List<LocationTypeGroup>> GetGroupedLocationTypes()
{
return await _context.LocationTypes
.GroupBy(p => p.IntExt)
.Select(g => new LocationTypeGroup
{
Name = g.Key,
LocationTypes = g.Select(x => x)
})
.OrderBy(x=>x.Name)
.ToListAsync();
}
Если я перейду на это:
LocationTypes = g.Select(x => x).OrderBy(x => x)
Тогда я все еще не получу отсортированный результат.
Что я делаю не так?