【发布时间】:2017-10-12 09:10:48
【问题描述】:
我首先使用带有 EF6 代码的 MVC5。我在两个表(通信和 Itemannounce)中都有一个带有 Date(Datum) 列的表,其类型为 smalldatetime,当我尝试在列中使用 System.DateTime.Now 设置日期时,出现以下错误:
将 datetime2 数据类型转换为 smalldatetime 数据类型 导致值超出范围。语句已终止。
我知道字节大小,并在我的上下文中尝试了以下解决方案:
protected override void OnModelCreating( DbModelBuilder modelBuilder )
{
var annons = modelBuilder.Entity<Itemannounce> ( );
annons.Property ( f => f.Datum ).HasColumnType ( "smalldatetime" );
var komm = modelBuilder.Entity<Kommunication> ( );
komm.Property ( f => f.Date ).HasColumnType ( "smalldatetime" );
base.OnModelCreating ( modelBuilder );
}
我仍然遇到同样的错误。我试图将列设置为 NOT NULL,但没有任何运气。我真的被困了好几天,没有找到解决办法。有没有人有我没有尝试过的解决方案?
【问题讨论】:
标签: sql entity-framework-6 type-conversion asp.net-mvc-5