使用可空日期时间列插入我的表时,插入DateTime.MinDate
会引发错误:
“将char数据类型转换为 日期时间数据类型导致 超出范围的日期时间值。“
然而,当我做MaxDate
它工作正常?
我实际上想要将此值插入null,但在PropertyInfo.SetValue()
中传递空值只是自动设置为MinDate
,是否有任何建议?
答案 0 :(得分:3)
Sql Server DateTime
的范围是1753-01-01到9999-12-31,而.NET's DateTime
的范围是0001-01-01 12:00:00午夜到9999-12-31 11: 59:59 PM
因此DateTime.MinValue
低于Sql Server的最小值,而DateTime.MaxValue
适合Sql Server DateTime
。
使用nullables:DateTime?
可以在内存中使用null。