实体框架数据库首先不接受小数点后12位的值

时间:2019-03-14 15:34:09

标签: c# database entity-framework

在我的数据库中,我有一列定义为十进制(30,12)。 我正在尝试使用最多12位小数来更新列值。 但是当我从实体框架执行dbcontext.save时,它给我错误“转换溢出”。基本上,我想用左14位didit和右12位数字来支持deciaml。 (12345678998734.898989898989)

1 个答案:

答案 0 :(得分:0)

SQL Server允许的最大精度为38。但是SQL Server十进制数据类型并未在整个范围内映射到.Net十进制。 .Net十进制类型仅映射到十进制(29,X)范围内的SQL Server一。 (source

这意味着,如果您拥有的小数点列的精度高于29,并且无论小数位数如何,都将无法使用本机.Net数据类型。

尝试使用SqlDecimal类型。

Full rules of SQL type