Мой набор результатов не сортируется. Как настроить OrderBy для типа System.Linq.GroupedEnumerable
Я преобразовал приложение из Core 1.1 в 2.2. Все перенесено в порядке, кроме одной логики, которая: 1) принимает ответ от вызова службы отображает его в GroupedEnumerable 2) принимает группированный набор и передает его в функцию, которая отображает его на объект типа System.Linq.Enumerable.SelectEnumerableIterator.
Полученный объект правильно заполнен, но не отсортирован. Я пробовал порядок в вызове параметра функции и как отдельный процесс впоследствии.
//response = {myService.myClient.SearchNominationsResponse}
//groupedSet = {System.Linq.GroupedEnumerable<ServiceClients.myClient.NominationObject, long>}
//result = {System.Linq.Enumerable.SelectEnumerableIterator<System.Linq.IGrouping<long, ServiceClients.myClient.NominationObject>, app.ViewModels.EvaluationSummary>}
public IEnumerable<EvaluationSummary> GetEvaluationSummaries(string sortBy, string sortOrder, Filter filter = null)
{
var request = Mapper.MapSearchNominationRequest(filter);
request.IsDetailed = false;
var response = myService.SearchNominationsAsync(request).GetAwaiter().GetResult();
var groupedSet = response.mySet.GroupBy(n => n.SetId);
// I get a proper result but it is not sorted
var result = groupedSet.Select(
g => Mapper.MapEvaluationSummary(
g.OrderBy(g2 => sortBy + " " + sortOrder)
.Last()));
// Still not sorting
result = result.OrderBy(r => sortBy + sortOrder);
return result;
}
public EvaluationSummary MapEvaluationSummary(SetObject setIn)
{
var eval = new EvaluationSummary
{
setDate = setIn.Date,
setId = setIn.Id,
setTypeId = setIn.TypeId,
setTypeDescription = setIn.TypeDescription,
setStatusId = setIn.StatusId,
setStatusDescription = setIn.StatusDescription,
setBy = setIn.Manager,
setEmployee = setIn.employee
};
}
Так что, на мой взгляд, у меня есть столбцы, в которых перечислены Date, Id, setEmployee. Я могу щелкнуть эти значения, чтобы создать шаблон сортировки, и вижу, что переменные sortBy и sortOrder передаются с правильными значениями, но сортировка не происходит.
Я ожидаю, что «William» появится раньше »Билл », а затем Билл появится перед« Уильямом »при переключении заголовка столбца сотрудника, на мой взгляд.