我正在使用Entity Framework 4.1引入的DbContext和Code First API。
数据模型使用基本数据类型,如string
和DateTime
。在某些情况下,我只使用了一个[Required]
数据注释,但这并不适用于任何DateTime
属性。例如:
public virtual DateTime Start { get; set; }
DbContext 子类同样简单,看起来如下:
public class EventsContext : DbContext
{
public DbSet<Event> Events { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Event>().ToTable("Events");
}
}
初始化器会将模型中的日期设置为今年或明年的合理值。
然而,当我运行初始化器时,context.SaveChanges()
报错:
将 datetime2 数据类型转换为 datetime 数据类型时,导致超出范围的值。该语句已终止。
我完全不知道为什么会发生这种情况,因为一切都很简单。而且,由于没有 edmx 文件可供编辑,我也不确定如何修复它。
有任何想法吗?