2013-07-03 42 views
0

根據閱讀Nullable Types,我明白對於在數據庫中可能爲null的基本類型使用Nullable是正確的。對於ORM對象可爲空

對象是否需要使用?(Nullable)類型?

實施例:

public DateTime? DateCreated {get; set; } 

public DateTime DateCreated {get; set; } 
+1

更正:對於在數據庫中可能爲null的值類型,使用'Nullable '是合適的。其中包括'DateTime'(和'DateTimeOffset')。 –

回答

0

在您的例子,Nullable<T>是有效作爲日期時間是不是引用類型。但是,對於對象(以及從對象派生的類型),不能使用Nullable<T>,因爲編譯器會引發錯誤;見:C# nullable string error

1

你的例子是正確的。您將需要DateTime?讓ORM(比如NH)將它視爲可爲空的類型。對於你不需要放置問號的物體。

另外,在附註上,問號T?是Nullable<T>的別名。編譯器會將T?轉換爲Nullable<T>。如果需要證明,你可以在調試器上檢查它:)