0

根据阅读Nullable Types,我了解Nullable在数据库中使用可能为 null 的原始类型是正确的。

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

例子:

public DateTime? DateCreated {get; set; }

或者

 public DateTime DateCreated {get; set; }
4

2 回答 2

1

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

另外,在旁注中,问号 T? 是 的别名Nullable<T>。编译器T?会将Nullable<T>. 如果你想要一个证明,你可以在调试器上检查这个:)

于 2013-07-03T16:12:06.160 回答
0

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

于 2013-07-03T16:09:40.057 回答