2011-01-07 8 views
5

Estoy usando NH para mapear C# -double values ​​en SQL Server 2005 como flotantes. Todo funciona perfectamente bien, sin embargo recientemente traté de ejecutar el SchemaValidator.NHibernate: utilizando dobles C# con SQL Server como "flotantes"

SchemaValidator falla:

Found: float, Expected DOUBLE PRECISION 

Creación de las tablas usando DOUBLE PRECISION obras, pero SQL Server informará las columnas como float

Me estoy perdiendo algo aquí, o se trata de una (pequeña) error en NHibernates tipo de mapeo?

EDIT:
Este error se corrige en la versión 6.27.2014: NHibernate-4.0.0.Alpha2

Respuesta

4

flotador (53) o simplemente flotar en SQL Server tiene la misma precisión que C# doble, por lo que sería un error en el validador.

+0

Um, sí, pero entonces el problema no es el doble de C# sino la diferencia entre (doble) flotación (53) y (doble) precisión. – Nils

+0

Eso no es un problema, sin embargo. Float (53) y Double son ambos tipos de punto flotante de 64 bits. El problema es el validador –

+0

Parece que tienes razón (aunque no lo veo así) - Abrí un problema en nhforge (problema NH-2655) que se cerró como "problema externo" sin comentarios. Como dudo, significa que este es un problema con sql-server, solo el validador puede significar "externo". – Nils

Cuestiones relacionadas