Нибернат не будет правильно сохранять десятичные числа в двойном - PullRequest
0 голосов
/ 17 сентября 2010

При попытке сохранить двойное значение с помощью NHibernate в базе данных MS Access я получаю следующую проблему.

SQL сообщил NHibernate:

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

В соответствии с этим для MyDoubleColumn должно быть установлено значение «5,8», однако в базе данных сохраняется значение «58». Запятая / точка исчезла.

Есть идеи?

Это не проблема культуры, изменение культуры на en-US не меняет поведение.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2010

Оказалось, я все перепутал при устранении неполадок.Я пытался сохранить десятичное значение в десятичном столбце в базе данных.

Я также пытался сохранить его в двойном столбце, но получил ту же ошибку.Когда я отредактировал Nhibernate.JetDriver, чтобы изменить свое десятичное значение на двойное и сохранить его в десятичном столбце, все стало работать как положено.Не спрашивайте меня, почему: -)

Следующий патч описывает исправление: http://www.itstod.se/files/jetdriver_decimal_to_double_fix.patch

0 голосов
/ 17 сентября 2010

Используйте "." вместо ",".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...