2016-07-02 384 views
1

不能理解此錯誤的原因。將日期時間2數據類型轉換爲日期時間數據類型導致超出範圍值

將日期時間2數據類型轉換爲日期時間數據類型導致超出範圍的值。

此列的Sql服務器中的數據類型是DateTime,並且在創建列時選擇了Not Null。

在調試系統日期時間保存在列中SaveChanges中發生異常。

上進行搜索,我得到這個

Stack Over Flow

The Conversion.. 但在我的情況沒有幫助。

型號

public class Student 
{ 
    [Key] 
    public int StudentId { get; set; } 
    public DateTime CreatedDate { get; set; } 

} 

行動

public ActionResult Save(ViewModels.Student student) 
{ 
     var model = new ViewModels.Student(); 
     model.CreatedDate = System.DateTime.Now; 
     db.Student.Add(student); 
     db.SaveChanges(); 
     return View(model); 
} 
+6

您保存'student',而不是'model'和pres可能''student.CreatedDate'是默認的'DateTime.MinDate'(這是超出範圍) –

+0

@Stephen我試過student.CreatedDate = System.DateTime.Now然後也是同樣的錯誤,我錯過了一些東西。 – Dave

+0

如果您在保存'student'(假設沒有其他'DateTime'字段)之前設置它,那應該可以正常工作 –

回答

2

SqlDateTime.MinValue是1753年1月1日,而DateTime.MinValue是1月1日,0001

您需要對此進行處理並確保它高於保存時的最小值

相關問題