Плавать в базе данных? в .net
-
23-08-2019 - |
Вопрос
Если у вас есть поплавок в MSSQLServer, что вы отображаете это в .NET?
Можете ли вы преобразовать его в удвоение или потеряете числа?
Решение
SQLServer float
и C#/VB double
иметь одинаковое представление. Это правильное отображение. Что вы не хотите делать, это карта SQL Server float
к C#/VB float
как это может включать в себя потерю точности. SQL Server real
Карты на C#/VB float
.
Поплавок T-SQL и определения реального типа можно найти в MSDN. Анкет C# двойное определение можно найти в MSDN Также, как и поплавок определение.
Другие советы
Проверить:
- Типы данных SQL Server и их эквиваленты .NET Framework (MSDN) Для получения полной ссылки на сопоставления типа данных между SQL Server и .net
В вашем случае натуральный тип SQL Server плавать Карты на SQL Server Clr SqlDouble а потом Двойной в .net
Обновление (май 2016 г.):
Обновленная версия документа MSDN: Картирование данных параметров CRL
C# имеет тип поплавка, но он также будет преобразовать, чтобы удвоиться.
Начиная с моего воспоминания, большинство инструментов ORM отобразит его с десятичным дскаиром, который не потеряет точность, как двойной или поплавок.
Это зависит от размера плавания SQL. Для простого «плавания», который эквивалентен плаванию (53), вам нужно использовать C# Double. Для поплавки (24) или более низкого плавания C# будет достаточно, иначе двойного также будет работать.
Автоматический код, сгенерированный Microsoft XSD, преобразует SQL Float (по умолчанию Float) в C# Double.
Таким образом, вы можете предположить, что это не большая ошибка.
Пока вы не будете работать с Float, у которого есть размер по умолчанию.