2011-01-07 16 views
5

Używam NH do mapowania C#-podwójne wartości do SQL Server 2005 jako floats. Wszystko działa idealnie dobrze, jednak ostatnio próbowałem uruchomić SchemaValidator.NHibernate: przy użyciu C# podwójne z SQL Server jako "pływa"

SchemaValidator zawiedzie:

Found: float, Expected DOUBLE PRECISION 

Tworzenie tabel przy użyciu DOUBLE PRECISION prace, ale SQL Server zgłosi kolumny jako float

Am I brakuje czegoś tutaj, lub jest to (minor) błąd w NHibernates mapowanie typu?

EDIT:
Ten problem został rozwiązany w wydaniu: 2014-06-27 NHibernate-4.0.0.Alpha2

Odpowiedz

4

float (53) lub po prostu unosić się w SQL Server ma taką samą precyzją jak C# podwójne, więc byłby to błąd w walidatorze.

+0

Um, tak, ale problem nie jest C# podwójne, ale różnica między (sql) float (53) i (sql) podwójną precyzją. – Nils

+0

To jednak nie stanowi problemu. Float (53) i Double to oba typy 64-bitowego zmiennoprzecinkowego. Problemem jest walidator. –

+0

Wygląda na to, że masz rację (chociaż nie widzę tego w ten sposób) - otworzyłem problem na nhforge (numer NH-2655), który został zamknięty jako "problem zewnętrzny" bez komentarza. Ponieważ wątpię, że oznacza to, że jest to problem związany z serwerem sql, tylko walidator może być rozumiany jako "zewnętrzny". – Nils

Powiązane problemy