TheBadge
это не одиночный значок , это группа значков ... так что я бы лично переименовал его на вашем месте.Теперь, какой OrderId
вы хотите получить?У вас есть несколько сущностей в группе.Например, вы можете сделать это:
var q = db.tblBadgeUsers
.Where(c => c.UserID == UserID)
.GroupBy(c => c.BadgeID)
.Select(c => new { BadgeCount = c.Count(), TheBadge = c })
.OrderBy(x => x.TheBadge.First().OrderId);
Это упорядочит некоторый условный «первый» элемент - хотя я не знаю, как будет выглядеть сгенерированный SQL.
Если выожидайте, что OrderId
будет одинаковым для каждого значка с тем же идентификатором, вы можете использовать:
var q = db.tblBadgeUsers
.Where(c => c.UserID == UserID)
.GroupBy(c => new { c.BadgeID, c.OrderID })
.OrderBy(group => group.Key.OrderID)
.Select(c => new { BadgeCount = c.Count(), TheBadge = c });