【问题标题】:Entity Framework maps the float datatype into double实体框架将浮点数据类型映射为双精度
【发布时间】:2012-04-24 23:24:47
【问题描述】:

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

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

那么为什么会发生这种行为?会不会有什么问题?

【问题讨论】:

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


    【解决方案1】:

    根据MSDN,这是正常行为。

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

    但是这里的类型名称非常混乱。事实上float (t-SQL)double (.Net) 相同:精度为15 位,范围为负1.79769313486232e308 到正1.79769313486232e308。

    【讨论】:

      【解决方案2】:

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

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

      但这似乎不会引起任何问题。您的数字从双精度数变为浮点数可能会丢失精度,但除非您需要额外的数字,否则它仍然可以工作。

      【讨论】:

      猜你喜欢
      • 2011-08-14
      • 2018-02-16
      • 1970-01-01
      • 2015-02-20
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 2012-04-15
      相关资源
      最近更新 更多