ORM对象可以为空

时间:2013-07-03 16:06:09

标签: c# orm nullable

基于阅读Nullable Types,我理解将Nullable用于数据库中可能为null的基本类型是正确的。

是否有必要对对象使用?(Nullable)类型?

示例:

public DateTime? DateCreated {get; set; }

 public DateTime DateCreated {get; set; }

2 个答案:

答案 0 :(得分:1)

你的例子是正确的。您需要DateTime?让ORM(比如NH)将其视为可空类型。对于您不需要放置问号的对象。

另外,在旁注上,问号T?是Nullable<T>的别名。编译器会将T?翻译为Nullable<T>。如果需要证明,可以在调试器上检查:)

答案 1 :(得分:0)

在您的示例中,Nullable<T>有效,因为DateTime不是引用类型。但是,对于对象(以及从对象派生的类型),您不能使用Nullable<T>,因为编译器会抛出错误;见:C# nullable string error