Я використовую API DbContext і Code First, представлені з Entity Framework 4.1.
Модель даних використовує основні типи даних, такі як 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 для редагування.
Будь-які ідеї?