实体框架将浮点数据类型映射为double

时间:2012-04-24 01:03:06

标签: asp.net-mvc-3 entity-framework

我正在使用数据库优先方法开发asp.net mvc 3 Web应用程序。

我有一个名为Results的表,其中包含两个类型为min & max的列(float),但是当我使用实体框架将现有数据库映射到模型类时,则EF创建一个类Results,其min & max字段的数据类型为double,而不是现有数据库中指定的float

那为什么会发生这种情况呢?它会引起任何问题吗?

2 个答案:

答案 0 :(得分:18)

根据MSDN,这是正常行为。

即使SQL服务器的real数据类型也会映射到double,即使float肯定就足够了。

但这里的类型名称非常令人困惑。实际上float (t-SQL)double (.Net)相同:精度为15位,负范围为1.79769313486232e308,为正数1.79769313486232e308。

答案 1 :(得分:1)

我不确定您的问题是否与此相同:

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

但似乎这不应该导致任何问题。你的数字从一个double变为float,你可能会失去精确度,但除非你需要额外的数字,否则它仍然可以工作。

相关问题