在我的数据库中,我有一列定义为十进制(30,12)。 我正在尝试使用最多12位小数来更新列值。 但是当我从实体框架执行dbcontext.save时,它给我错误“转换溢出”。基本上,我想用左14位didit和右12位数字来支持deciaml。 (12345678998734.898989898989)
答案 0 :(得分:0)
SQL Server允许的最大精度为38。但是SQL Server十进制数据类型并未在整个范围内映射到.Net十进制。 .Net十进制类型仅映射到十进制(29,X)范围内的SQL Server一。 (source)
这意味着,如果您拥有的小数点列的精度高于29,并且无论小数位数如何,都将无法使用本机.Net数据类型。
尝试使用SqlDecimal类型。