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