我正在使用一个使用数据库优先方法的asp.net mvc 3 web应用程序.
我有一个名为Results的表,其中包含float(float)类型的两列(min& max),但是当我使用Entity Framework将现有数据库映射到模型类中时,EF会创建一个具有min& ;最大字段为双精度,而不是在exsiting数据库中指定的float.
那么为什么会发生这种情况呢?会造成任何问题吗?
解决方法
这是正常的行为,根据
MSDN.
即使sql服务器的真实数据类型也被映射到两倍,即使浮点数肯定是足够的.
但是这里的类型名称非常混乱.其实float
(t-SQL)与double
(.Net)是一样的:15位的精度和负1.79769313486232e308的正值为1.79769313486232e308.