Nhibernate不会正确地保持双精度小数

时间:2010-09-17 10:19:08

标签: nhibernate

当尝试在MS Access数据库中使用NHibernate持久化双重时,我遇到以下问题。

NHibernate报告的SQL:

NHibernate: UPDATE mytable SET MyDoubleColumn = ? WHERE Number = ? AND Row = ?;@p0 = 5.8, @p4 = 161447, @p5 = 1

根据这一点,MyDoubleColumn应该设置为'5.8',但是,存储在数据库中的是'58'。逗号/点已经消失。

有什么想法吗?

这不是文化问题,将文化转变为en-US不会改变行为。

2 个答案:

答案 0 :(得分:0)

使用“。”而不是“,”。

答案 1 :(得分:0)

原来我在排除故障时搞砸了。我试图将十进制值保存到数据库中的十进制列。

我也尝试将其保存到双列但得到了同样的错误。当我编辑Nhibernate.JetDriver将我的十进制值更改为double并将其保存到十进制列时,事情开始按预期工作。不要问我为什么: - )

以下修补程序介绍了修复程序:http://www.itstod.se/files/jetdriver_decimal_to_double_fix.patch