Aqui está um código que sempre esqueço de vez em quando. 🙂 Aqui está o código básico para agrupar em vários campos no linq.
var fullGroupedUpdateBilling = (from ub in fullUpdateBilling
group ub by new { ub.Id, ub.ctranscode, ub.ctransdesc} into g
select new UBUpdateBillingReportItem
{
Id = g.Key.Id,
ctranscode = g.Key.ctranscode,
ctransdesc = g.Key.ctransdesc,
usage = g.Sum(t => t.usage),
amt = g.Sum(t => t.bbamt),
bbamt = g.Sum(t => t.amt),
hasbb = hasBB
});