Todo,NHibernate 3.0 que redondea un decimal a 5 decimales, ¿por qué?
Estábamos usando NHiberate 2.1 donde almacenamos valores decimales (tipos de cambio) p. Ej. 123.1234567 a 7 cifras decimales
Estamos mapeo del tipo que utiliza el estilo asignación predeterminada:
<property name="ExchangeRate" not-null="true" />
Sin embargo, cuando pasaron a NHibernate 3.0 el valor anterior se guarda como 123.1234500.
No especifica este cambio de comportamiento en las notas de la versión 3.0 aunque sí parece al detalle que en la edición [NH-1594], el valor por defecto para decimal es decimal (19,5)
Tenemos una solución es decir, especifique la siguiente asignación:
<property name="ExchangeRate" type="decimal(10,7) not-null="true" />
¿Debo saber si esta solución es la forma correcta de resolver este problema? Además, ¿por qué hay un cambio funcional en el comportamiento con el redondeo entre 2.1 y 3.0?
Saludos,
Billy Pila
¿Está seguro de que no se debe al diseño de la base de datos? ¿Estás usando el mismo esquema de base de datos al intentar 3.0? – jishi
Lo siento, debería haber sido type = "decimal (14,7) – bstack
Sí, exactamente el mismo diseño de base de datos. Si vuelvo a la versión anterior de NHibernate, el problema no existe. – bstack