Używam interfejsów API DbContext i Code First wprowadzonych w Entity Framework 4.1.
Model danych wykorzystuje podstawowe typy danych, takie jak string
i DateTime
. Jedyna adnotacja danych, której używam w niektórych przypadkach, to [Required]
, ale nie ma jej w żadnej z DateTime
właściwości. Przykład:
public virtual DateTime Start { get; set; }
DbContext podklasą jest również prosty i wygląda następująco:
public class EventsContext : DbContext
{
public DbSet<Event> Events { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Event>().ToTable("Events");
}
}
W initializer zestawy dat w modelu do wartości sensownych w obu tego roku lub w przyszłym roku.
Jednak po uruchomieniu inicjatora pojawia się ten błąd pod adresem context.SaveChanges()
:
Konwersja typu danych datetime2 na typ danych datetime spowodowała uzyskanie wartości spoza zakresu. Oświadczenie zostało zakończone.
W ogóle nie rozumiem, dlaczego tak się dzieje, ponieważ wszystko jest takie proste. Nie jestem też pewien, jak to naprawić, ponieważ nie ma pliku edmx do edycji.
Jakieś pomysły?