【发布时间】:2019-08-02 14:32:50
【问题描述】:
我不能在 LINQ 中使用 Sum() 函数。
var results = _resultTable.AsEnumerable()
.Select(x => new
{
AccountId = x["AccountID"],
SubAccountId = x["SubAccount"],
Amount = x["Amount"]
})
.GroupBy(s => new { s.AccountId, s.SubAccountId })
.Select(x => new
{
x.Key.AccountId,
x.Key.SubAccountId,
TotalAmount = x.Sum(g => g.Amount)
});
我无法编译它给出错误的代码
无法将类型“object”隐式转换为“long?”。明确的 存在转换(您是否缺少演员表?)
和
无法将 lambda 表达式转换为预期的委托类型,因为 块中的某些返回类型不可隐式转换 到委托返回类型
【问题讨论】:
-
我认为你可以这样做:
x.Sum(g => (long) g.Amount)...虽然不确定。