2012-03-24 122 views
0

EF在數據庫中默認情況下會使某些屬性不可爲空,是否有某種方法可以在某些屬性中使用該屬性?我試圖搜索數據註釋但什麼也沒找到。C#實體框架4.3

我使用的代碼第一屬性是一個int和日期時間

+2

你是先使用代碼嗎?該物業的類型是什麼? – 2012-03-24 17:07:13

+1

請給我們一些代碼。 – IAbstract 2012-03-24 17:08:38

+0

可能是一個重複的問題 - http://stackoverflow.com/questions/7941472/entity-framework-code-first-default-values-on-non-nullable-types – 2012-03-24 17:17:05

回答

4

我假設你正在使用代碼優先。你可能會得到非空的對於確實是不可爲空(值類型)的類型,如int,BOOL,等你需要在爲了做到這一點使用這些可空版本:

int? MyColumnThatIsNullable 

int MyColumnThatIsNOTNullable 

想想代碼將如何工作,這將是有意義的你。如果一個字段是一個int並且試圖將一個null傳遞給代碼,那麼你將會有某種錯誤或者一個魔術(默認)值。這將不能正確表示數據庫中的值。所以,如果你使用可空的版本,那麼數據庫中的null可以表示它的真實性,即null。

+0

哈!現在你提到它是非常有意義的,我不知道我是如何錯過它的。謝謝 – Roge 2012-03-24 17:11:49

+1

@Roge沒問題,我在原來的答案下面添加了一個解釋(儘管你說你懂了:))。像往常一樣接受的答案(一旦15分鐘寬限期結束)和upvotes讚賞:) – 2012-03-24 17:16:27