0

我正在尝试通过 EF 5 向我的数据库中插入双精度值。我从 db 生成了 EF 实体模型。表中有一个价格列是浮点数,自然 EF 为映射器类生成了一个双精度类型。我从文件中读取了一些字符串值并将其转换为 double 并将其保存到 db。当我调试时,我可以看到值已正确转换。例如 string 值"120,53"转换为 double like 120.53,就可以了。但是当我保存我的上下文时,它会像"12053".

什么会导致这样的问题?SQL Server 中是否有任何设置与此有关?

4

1 回答 1

0

我相信问题出在您的 Convert.ToDouble 和 , 而不是小数点上。如果不提供数字的文化,它可能会将 , 解释为千分之一分隔符并忽略它。如果您的环境的文化是 , 用作小数的文化,请尝试将 CultureInfo.CurrentCulture 作为第二个参数 (IFormatProvider) 传递。或者,因为看起来你正在用 , 替换小数 - 只是不要替换它。

于 2013-05-23T20:48:16.377 回答