我试图使用MySQL连接器将LINQ查询中的列与Entity Framework Core相加。
我的查询:
_context.Cities
.Where(c => c.Player == name)
.Where(c => c.Timestamp == max)
.Sum(c => c.Score);
我收到此例外:
类型' System.InvalidCastException'的例外情况发生在 Microsoft.EntityFrameworkCore.dll但未在用户代码中处理
附加信息:无法转换类型&System;系统.Decimal' 输入' System.Int32'。
我已经阅读了数十篇SO帖子,无法弄清楚出了什么问题。我还尝试使用.Sum(c => (int)c.Score)
进行显式转换,但仍然收到相同的异常。
如何在查询中对此属性求和?
修改:Score
不可为空。 Score
也是模型和数据库中的int。
Edit2: .Sum(c => Convert.ToInt32(c.Score))
有效!虽然我觉得这不是必要的吗?