为了说明简单些,举个例子,有个table,我先groupby后,要计算列的sum值,但是根据需求列名是动态获取的放在string类型的list里,
table.AsEnumerable().GroupBy(x => x["11"]).Select(y => new { i = y.Key, p = y.Sum(z => Convert.ToDecimal(z["111"])), o = y.Sum(z => Convert.ToDecimal(z["222"])) });
上面是计算“111”,“222”列名的和,现在我的列名是放在list里的,我该怎么样才能一句把list里的列名都求和
------解决思路----------------------
table.AsEnumerable().GroupBy(x => x["11"]).Select(y =>
{
var sumList = new Dictionary<string, decimal>();
foreach (string key in list)
{
sumList.Add(key, y.Sum(z => Convert.ToDecimal(z[key])));
}
return new { i = y.Key, p = sumList };
});