我正在使用数据库优先方法开发一个 asp.net mvc 3 Web 应用程序。
我有一个名为的表Results
,其中包含两个min & max
类型的列 () float
,但是当我使用实体框架将现有数据库映射到模型类时,EF 创建一个具有字段Results
数据类型的类,而不是现有数据库。min & max
double
float
那么为什么会发生这种行为呢?它会引起任何问题吗?
我正在使用数据库优先方法开发一个 asp.net mvc 3 Web 应用程序。
我有一个名为的表Results
,其中包含两个min & max
类型的列 () float
,但是当我使用实体框架将现有数据库映射到模型类时,EF 创建一个具有字段Results
数据类型的类,而不是现有数据库。min & max
double
float
那么为什么会发生这种行为呢?它会引起任何问题吗?
根据MSDN ,这是正常行为。
甚至 SQL-server 的real
数据类型也映射到double
,尽管float
那里肯定就足够了。
但是这里的类型名称非常混乱。实际上float
(t-SQL)与double
(.Net)相同:精度为 15 位,范围为负 1.79769313486232e308 到正 1.79769313486232e308。
我不确定您的问题是否与此相同:
http://forums.asp.net/p/1606916/4100117.aspx
但这似乎不会引起任何问题。您的数字从双精度数变为浮点数可能会丢失精度,但除非您需要额外的数字,否则它仍然可以工作。