Flotter dans la base de données? dans .net
-
23-08-2019 - |
Question
Si vous avez un flotteur dans MSSQLSERVER, à quoi mappez-vous cela dans .NET?
Pouvez-vous le convertir en double ou perdrez-vous des nombres?
La solution
Serveur SQL float
et C # / VB double
ont la même représentation. C'est le mappage correct. Ce que vous ne voulez pas faire, c'est cartographier SQL Server float
à C # / VB float
car cela peut impliquer une perte de précision. serveur SQL real
cartes sur C # / VB float
.
Les définitions de flotteur T-SQL et de type réel peuvent être trouvées à MSDN. C # Double définition peut être trouvée à MSDN aussi, tout comme le flotteur définition.
Autres conseils
Vérifier:
- Types de données SQL Server et leurs équivalents .NET Framework (MSDN) Pour une référence complète sur les mappages de types de données entre SQL Server et .NET
Dans votre cas, type natif SQL Server flotteur cartes à SQL Server CLR Sqldouble et alors Double dans .net
Mise à jour (mai 2016):
Version mise à jour du document MSDN: Cartographie des données de paramètres CRL
C # a un type de flotteur, mais il se convertira également très bien.
Depuis mon souvenir, la plupart des outils ORM le mlèrent à un type décimal, qui ne perdra pas de précision comme un double ou un flotteur.
Cela dépend de la taille du flotteur SQL. Pour un "flot" ordinaire qui est équivalent à Float (53), vous devez utiliser un double C #. Pour le flotteur (24) ou le bas, un flotteur C # sera suffisant, ou un double fonctionnerait également.
Le code automatique généré par Microsoft XSD Convert SQL Float (Float par défaut) en C # Double.
Vous pouvez donc suggérer que ce n'est pas une grosse erreur.
Jusqu'à ce que vous travailliez avec Float qui a une taille par défaut.