Похоже, что у данного бренда может быть несколько идентификаторов, и вы хотите, чтобы 5 лучших брендов были отсортированы по numPage.Это правильно
Если это так, попробуйте следующее
var query = listing
.GroupBy(x => x.brandName)
.OrderByDescending(brands => brands.Sum(x => x.numPage))
.Select(x => x.Key)
.Take(5);
Примечание: после операции GroupBy
вы теперь передаете коллекцию объектов бренда вместо отдельных.Следовательно, чтобы упорядочить по numPage
, нам нужно сложить его для всех объектов бренда в группе..Select(x => x.Key)
выберет обратно исходный brandName
, на котором основана группа