Ich verwende die mit Entity Framework 4.1 eingeführten APIs DbContext und Code First.
Das Datenmodell verwendet grundlegende Datentypen wie string
und DateTime
. Die einzige Datenanmerkung, die ich in einigen Fällen verwende, ist [Required]
, aber das gilt nicht für eine der DateTime
Eigenschaften. Beispiel:
public virtual DateTime Start { get; set; }
Die DbContext-Unterklasse ist ebenfalls einfach und sieht folgendermaßen aus:
public class EventsContext : DbContext
{
public DbSet<Event> Events { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Event>().ToTable("Events");
}
}
Der Initialisierer setzt die Daten im Modell entweder in diesem oder im nächsten Jahr auf sinnvolle Werte.
Wenn ich jedoch den Initialisierer ausführe, wird folgende Fehlermeldung angezeigt context.SaveChanges()
:
Die Konvertierung eines Datetime2-Datentyps in einen Datetime-Datentyp führte zu einem Wert außerhalb des Bereichs. Die Anweisung wurde beendet.
Ich verstehe nicht, warum das überhaupt passiert, weil alles so einfach ist. Ich bin mir auch nicht sicher, wie ich das beheben soll, da keine edmx-Datei zum Bearbeiten vorhanden ist.
Irgendwelche Ideen?