2012-08-01 60 views
0

试图从数据库中检索浮动时,我收到以下错误:MVC3实体框架显示float类型

的“营业时间”属性的“WorkHours”不能设置为“双师型”值。您必须将此属性设置为“Single”类型的非空值。

在WorkHours实体的时间属性是:

公共单身?小时{get;设置;}

表设计类型:

小时浮法

当我存储它存储作为双(点之后16位)的值,我相信浮子是后的7位点。

任何想法,为什么我得到那个错误?

感谢

MVC3,EF4时,SQL Server 8(2000)

+0

我觉得默认实体框架默认为2位小数精度(截断它的其余部分)。在Code-First中,有一种自定义映射方法,可以用来设置每个属性的精度 – 2012-08-01 15:40:51

回答

1

也许这将帮助:

的 '营业时间' 属性的 'WorkHours' 不能设置为 '双师型'值。您必须将此属性设置为非空值类型为'Single'的值。

public Single? Hours {get; set;} 
      ^
+0

这就是我上面粗体的 – Valter 2012-08-01 16:27:40

+0

@ 123456789 - 它说你需要一个非null类型,并且你将它定义为一个空类型。使表格字段可以为空,或使您的实体不可为空。 – 2012-08-01 16:31:26

+0

相同的错误消息。但我更改为模型和数据库的小数点,并且工作正常...所以我想我将使用小数点而不是浮点数 – Valter 2012-08-01 17:01:25

1

我解决了这个使用属性栏......

[Column("latitude", TypeName = "float")]