【发布时间】:2013-05-19 05:55:15
【问题描述】:
我正在尝试通过 EF 5 向我的数据库插入双精度值。我从 db 生成了 EF 实体模型。表中有一个价格列是浮点数,自然 EF 为映射器类生成了一个双精度类型。
我从文件中读取了一些字符串值并将其转换为 double 并将其保存到 db。当我调试时,我可以看到值已正确转换。例如字符串值"120,53" 转换为像120.53 这样的double,就可以了。但是当我保存我的上下文时,它会像"12053"一样进入数据库。
什么会导致这样的问题? SQL Server 中是否有任何设置与此有关?
【问题讨论】:
-
请给我们看一些代码。
-
可能会显示您加载、转换和保存值的代码行?
-
我的代码基本是这样的。产品 p = 新产品(); product.SalePrice = Convert.ToDouble(somestring.Replace('.', ',')); context.Products.Add(p); context.SaveChanges();
-
我无法在评论框中格式化它。很抱歉造成混乱
-
请不要将代码示例或示例数据放入 cmets - 因为您无法对其进行格式化,所以阅读它非常困难....而是:更新您的问题,编辑它以提供附加信息!谢谢。
标签: c# sql-server floating-point double type-conversion