当尝试在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不会改变行为。
答案 0 :(得分:0)
使用“。”而不是“,”。
答案 1 :(得分:0)
原来我在排除故障时搞砸了。我试图将十进制值保存到数据库中的十进制列。
我也尝试将其保存到双列但得到了同样的错误。当我编辑Nhibernate.JetDriver将我的十进制值更改为double并将其保存到十进制列时,事情开始按预期工作。不要问我为什么: - )
以下修补程序介绍了修复程序:http://www.itstod.se/files/jetdriver_decimal_to_double_fix.patch