Nea*_*alR 0 c# sql-server datetime entity-framework asp.net-mvc-4
已经阅读了很多关于这个问题的帖子,但没有发现任何有效的帖子.
我们的SQL数据库的字段设置如此(数据类型datetime)

相应的model属性具有以下声明
[DisplayName("Effective Date")]
[Column(TypeName = "DateTime")]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public DateTime? EffectiveDate { get; set; }
Run Code Online (Sandbox Code Playgroud)
然而,如果我输入一个日期,11/11/1111我的程序运行时会出现以下错误DbContext.SaveChanges()
将datetime2数据类型转换为日期时间数据类型会导致超出范围的值.该语句已终止
我不知道,也没有发现我们的ASP MVC项目或SQL表中的任何范围规范.任何帮助非常感谢.
您已将列类型指定为:
[Column(TypeName = "DateTime")]
Run Code Online (Sandbox Code Playgroud)
这将映射到SQL Server中的Dateimetype列,而不是Datetime2.
DateTime有效范围为1753年1月1日至9999年12月31日,因此您的值11/11/1111超出范围.
错误消息包括datetime2并且是由于提供的值11/11/1111,它将落在datetime2范围之内.