全部,NHibernate 3.0將小數舍入到5位小數 - 爲什麼?
我們在使用NHiberate 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之間舍入時行爲會發生功能變化?
乾杯,
比利堆棧
您確定它不是因爲數據庫設計?在嘗試3.0時使用相同的數據庫模式嗎? – jishi
對不起,應該是type =「decimal(14,7) – bstack
是的,完全相同的數據庫設計。如果我翻轉回舊版本的NHibernate,問題不存在。 – bstack