new {x.Id,x.Name}这个是编译器的魔术,没有办法“动态”。你可以select到一个字典或者数组中,如存在List里。
大体如下: ObjectContext.T_Income .GroupBy ( k => new { IncomeOfPeople =k.IncomeOfPeople } ) .Select ( g => new { partName = g.Key.IncomeOfPeople, totalMoney = g.Sum (k => k.MoneyNum) } )