Подтвердить что ты не робот

Entity Framework сопоставляет тип данных float в двойном

Я работаю над веб-приложением asp.net mvc 3, используя подход, основанный на базе данных.

У меня есть таблица с именем Results, которая содержит два столбца (min & max) типа float, но когда я использую Entity Framework для сопоставления существующей базы данных с классами модели, тогда EF создает класс Results с типом данных полей min & max как double вместо float, как указано в базе данных exsiting.

Так почему же такое поведение происходит? Это вызовет проблемы?

4b9b3361

Ответ 1

Это нормальное поведение, согласно MSDN.

Даже тип данных SQL-server real сопоставляется с double, хотя float определенно будет достаточно.

Но имена типов здесь очень запутывают. Фактически float (t-SQL) совпадает с double (.Net): точность 15 цифр и диапазон отрицательных 1.79769313486232e308 к положительному 1.79769313486232e308.

Ответ 2

Я не уверен, что ваша проблема идентична этому или нет:

http://forums.asp.net/p/1606916/4100117.aspx

Но похоже, что это не должно вызывать никаких проблем. Вы можете потерять точность с вашими номерами, идущими от двойного до плавающего, но он все равно должен работать, если вам не нужны дополнительные цифры.