2012-08-01 136 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")]