Agrupando em vários campos no linq

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
});