14
如何使用DbContext和SetInitializer解决datetime2超出范围的转换错误?
我正在使用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文件可以编辑。 有任何想法吗?