【发布时间】:2016-11-04 17:30:37
【问题描述】:
无法理解这个错误的原因。
将 datetime 2 数据类型转换为 datetime 数据类型导致值超出范围。
Sql server中该列的数据类型为DateTime,创建该列时选择了Not Null。
在调试系统日期时间保存在SaveChanges列中发生异常。
在搜索中我得到了这个
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);
}
【问题讨论】:
-
你保存的
student,而不是model,大概student.CreatedDate是默认的DateTime.MinDate(超出范围) -
@Stephen 我试过 student.CreatedDate = System.DateTime.Now 也是同样的错误,我错过了一些东西。
-
如果您在保存
student之前设置它应该可以正常工作(假设没有其他DateTime字段) -
@Stephen Muecke 成功了。
标签: c# asp.net-mvc-4