Я мог бы быть совершенно не прав, но это что-то вроде:
ProjectBudgetAdjustment
.Where( pba => pba.ProductBudget.Products.Code == "xxx")
.Where( pba => (pba.Metrics.Description == "Hours"
|| pba.Metrics.Description == "Amount"))
.GroupBy( pba => pba.ProductBudget.adGroupsId )
.Select (
r => new
{
adGroupsId = r.Key,
Hours = r.Sum(i=> (i.Metrics.Description == "Hours" ? i.value : 0m)),
Amount = r.Sum(i=> (i.Metrics.Description == "Amount" ? i.value : 0m))
}
);