为什么我可以插入MaxDate但不能插入MinDate

时间:2011-03-08 10:53:01

标签: c# sql-server datetime sqldatetime

使用可空日期时间列插入我的表时,插入DateTime.MinDate会引发错误:

  

“将char数据类型转换为   日期时间数据类型导致   超出范围的日期时间值。“

然而,当我做MaxDate它工作正常? 我实际上想要将此值插入null,但在PropertyInfo.SetValue()中传递空值只是自动设置为MinDate,是否有任何建议?

1 个答案:

答案 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。