Fluttuare nel database a? in .net
-
23-08-2019 - |
Domanda
Se hai un galleggiante in MSSQLServer, a cosa mappini questo in .NET?
Puoi convertirlo in raddoppio o perderai numeri?
Soluzione
Server SQL float
e C#/VB double
avere la stessa rappresentazione. Questa è la mappatura corretta. Quello che non vuoi fare è Map SQL Server float
a c#/vb float
poiché ciò può comportare una perdita di precisione. server SQL real
mappe su C#/VB float
.
T-SQL Float e Definizioni di tipo reale sono disponibili su Msdn. C# La doppia definizione è disponibile su Msdn Inoltre, come può il galleggiante definizione.
Altri suggerimenti
Guardare:
- Tipi di dati SQL Server e i loro equivalenti .NET Framework (MSDN) Per riferimento completo sui mapping del tipo di dati tra SQL Server e .NET
Nel tuo caso SQL Server Native Tipo galleggiante mappe a sql server clr SqlDouble poi Doppio in .net
Aggiornamento (maggio 2016):
Versione aggiornata del documento MSDN: Mappatura dei dati dei parametri CRL
C# ha un tipo di galleggiante, ma si convertirà anche in raddoppio.
Dal mio ricordo, la maggior parte degli strumenti ORM lo mapperà a un tipo decimale, che non perderà la precisione come un doppio o un galleggiante.
Dipende dalle dimensioni del galleggiante SQL. Per "float" semplice che equivale a galleggiare (53), è necessario utilizzare un doppio C#. Per il galleggiante (24) o un float C# più basso sarà sufficiente, oppure funzionerebbe anche un doppio.
Il codice automatico generato da Microsoft XSD converti SQL Float (Float predefinito) in C# doppio.
Quindi puoi suggerire che non è un grosso errore.
Fino a quando non si lavora con il galleggiante con dimensioni predefinite.