2011-01-07 12 views
5

Sto utilizzando NH per mappare i valori di doppia conversione in # # SQL Server 2005 come float. Tutto funziona perfettamente, tuttavia recentemente ho provato a eseguire il SchemaValidator.NHibernate: l'utilizzo di C# raddoppia con SQL Server come "float"

SchemaValidator fallisce:

Found: float, Expected DOUBLE PRECISION 

Creazione delle tabelle usando DOUBLE PRECISION opere, ma SQL Server riporterà le colonne come float

Mi manca qualcosa qui, o si tratta di un (minore) bug in NHibernates tipo-Mapping?

EDIT:
Questo bug è stato risolto nel 2014/06/27 rilascio: NHibernate-4.0.0.Alpha2

risposta

4

Float (53) o semplicemente galleggiare in SQL Server ha la stessa precisione C# doppio, quindi sarebbe un errore nel validatore.

+0

Um, sì, ma il problema non è il doppio C# ma la differenza tra (sql) float (53) e (sql) doppia precisione. – Nils

+0

Questo non è un problema, però. Float (53) e Double sono entrambi tipi a virgola mobile a 64 bit. Il problema è il validatore. –

+0

Sembra che tu abbia ragione (anche se non lo vedo in questo modo) - Ho aperto un problema a nhforge (problema NH-2655) che è stato chiuso come "problema esterno" senza commenti. Dal momento che dubito significa che questo è un problema con sql-server solo il validatore può essere inteso come "esterno". – Nils