LINQ SUM与EF Core"无法转换类型' System.Decimal'输入' System.Int32'"

时间:2016-12-24 22:52:56

标签: c# mysql entity-framework linq

我试图使用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))有效!虽然我觉得这不是必要的吗?

0 个答案:

没有答案