我正在使用 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 文件。
有任何想法吗?