C# 参数值';421.0526000000';超出范围

C# 参数值';421.0526000000';超出范围,c#,.net,sql-server,entity-framework-6,decimal,C#,.net,Sql Server,Entity Framework 6,Decimal,我有一个名为User的表,它有一个名为Efficiency的列。 我已将列类型设置为decimal(30,15) 在VisualStudio中,我计算了一个十进制nr=421.0525,我可以在dubbuger中看到nr没有改变它的值。 我已将表格的效率列设置为等于我的nr。 当我试图保存更改时 db.SaveChanges();` 我得到以下错误: System.Data.Entity.Infrastructure.DbUpdateException: 'An error occurred

我有一个名为User的表,它有一个名为Efficiency的列。 我已将列类型设置为decimal(30,15) 在VisualStudio中,我计算了一个十进制nr=421.0525,我可以在dubbuger中看到nr没有改变它的值。 我已将表格的效率列设置为等于我的nr。 当我试图保存更改时

db.SaveChanges();`
我得到以下错误:

System.Data.Entity.Infrastructure.DbUpdateException: 'An error occurred while updating the entries. See the inner exception for details.'
ArgumentException: Parameter value '421.0526000000' is out of range.
我尝试将列类型设置为decimal(18,10)、decimal(20,10)、decimal(10,4)等。结果是一样的?? 我正在使用Visual studio 2017和Sql Server 2017。
谢谢

请通过CREATE table语句和正在执行的更新的SQL语句显示表的结构。错误消息中的“参数值”表示可能正在调用存储过程。如果是这种情况,参数是什么,如何调用?