NHibernate 3.0 округляет десятичную дробь до 5 знаков после запятой - почему?

Все,

Мы использовали NHibernate 2.1, где мы храним десятичные значения (курсы валют), например 123.1234567 до 7 знаков после запятой

Мы отображаем тип, используя стиль отображения по умолчанию:

<property name="ExchangeRate"  not-null="true" />

Однако когда мы переходим на NHibernate 3.0, значение выше сохраняется как 123.1234500.

Это изменение в поведении не указано в примечаниях к выпуску 3.0, хотя там подробно описано, что в выпуске [NH-1594] значение по умолчанию для десятичной дроби - DECIMAL(19,5)

У нас есть решение, т.е. указать следующее отображение:

<property name="ExchangeRate"  type="decimal(10,7) not-null="true" />

Мне нужно знать, является ли это решение правильным способом решения этой проблемы? Также, почему есть функциональное изменение в поведении с округлением между 2.1 и 3.0?

Спасибо,

Billy Stack

7
задан bstack 9 March 2011 в 09:10
поделиться