8,497
社区成员
发帖
与我相关
我的任务
分享
var countAll = dtCost.AsEnumerable().Where(d => d.Field<string>("REIM_TARGET_ID") == dtAll.Rows[i]["REIM_TARGET_ID"].ToString()).Sum(d => d.Field<decimal>("AMOUNT"));
var countAlls = dtCost.AsEnumerable().Where(d => d.Field<string>("REIM_TARGET_ID") == dtAll.Rows[i]["REIM_TARGET_ID"].ToString()).GroupBy(d => d.Field<DateTime>("PAYMENTTIME").ToString("yyyy-MM")).Select(g => g.Sum(d => d.Field<decimal>("AMOUNT")));
这样写报错误:无法将类型为“WhereSelectEnumerableIterator`2[System.Linq.IGrouping`2[System.String,System.Data.DataRow],System.Decimal]”的对象强制转换为类型“System.IConvertible”。
var query = from t in dt.AsEnumerable()
where 条件
group t by new { t1 = t.Field<DateTime>("time") } into m
select new
{
name = m.Key.t1,
score = m.Sum(n => n.Field<decimal>("AMOUNT"))
};
自己改改吧
Select(g => g.Sum(d => d.Field<decimal>("AMOUNT")));
改成:
Sum(d => d.Field<decimal>("AMOUNT"));
试试