原因:
.NET中 DateTime最小值為: 0001-1-1 0:00:00
數據庫中DateTime最小值為: 1753-1-1 0:00:00,
很明顯:.NET中的最小值超出了數據庫時間類型的最小值,導致數據溢出的錯誤。(兩者的最大值都是一樣滴)
解決方案:
1、 對程序中的DateTime類型的字段,沒有進行賦值、用DateTime.MinValue作為值得 地方都全部換為,SqlDateTime.MinValue
影響:類似於判斷條件 if(curentTime == DateTime.MinValue) 需要同步修改,否則始終無法走進if里面
2、 定義一個不程序中不可能用的最小值常量,對日期字段,沒賦值的地方或用DateTime.MinValue的地方用此常量
public static readonly DateTime INIT_DATETIME = new DateTime(1900, 1, 1);
3、全部的數據 以對象為單位進行操作,在類構造函數中,賦初值 new DateTime(1900, 1, 1)