bst*_*ack 7 precision nhibernate decimal
所有,
我们使用NHiberate 2.1,我们存储十进制值(汇率),例如123.1234567到7位小数
我们使用默认映射样式映射类型:
<property name="ExchangeRate" not-null="true" />
Run Code Online (Sandbox Code Playgroud)
但是当我们升级到NHibernate 3.0时,上面的值保存为123.1234500.
它没有在3.0发行说明中指定此行为更改,尽管它似乎详细说明问题[NH-1594],十进制的默认值是DECIMAL(19,5)
我们有一个解决方案,即指定以下映射:
<property name="ExchangeRate" type="decimal(10,7) not-null="true" />
Run Code Online (Sandbox Code Playgroud)
我需要知道这个解决方案是解决这个问题的正确方法吗?此外,为什么在2.1和3.0之间的舍入行为会发生功能性变化?
干杯,
比利栈
Die*_*hon 10
这是有效的,但这是更清洁的IMO:
<property name="ExchangeRate" precision="10" scale="7" />
Run Code Online (Sandbox Code Playgroud)
属性类型隐含了一个非空小数.
| 归档时间: |
|
| 查看次数: |
5473 次 |
| 最近记录: |