EF 6 Code First
Eine Einführung zu Entity Framework findet man hier.
Die Definition eines eines Entitymodells direkt in C# oder VB.NET wird im EntityFramework immer bedeutender. In EntityFramework 7 ist dies momentan die einzige Möglichkeit zur Definition von Entitymodellen.
Implementierung des Modells druch ein Datenbankschema beeinflussen
Erweiterungspunkt für Schemaimplementierung
Code First folgt wendet bei der Abbildung von Entity- Klassen auf Datenbankschemen implizite Regeln an wie:
- Entity- Klasse → Tabelle
virtual void DbContext.OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder)
.
Über das Objekt modelBuilder
wird die Fluide Api bereitgestellt. Beispiel (KeplerBI.Db):
modelBuilder.Entity() .HasKey(r => r.SatelliteId) .Ignore (e => e.SemiMajorAxis) .Ignore (e => e.MeanVelocityOfCirculation);
Schema festlegen
Die Kontexte von EF- Modellen werden in der Grundeinstellung im Defaultschema dbo
auf der
Datenbank implementiert. Mittels modelBuilder.HasDefaultSchema(<Name Schema>)
kann der Kontext
in einem anderen Schema implementiert werden. Ist das Schema noch nicht vorhanden, dann kowird es angelegt.
Beispiel: modelBuilder.HasDefaultSchema("Kepler")
Spezielles
- Aktualisierungskonflikte auflösen
- Umgang mit Datenkollisionen durch konkurrierende Datenbankzugriffe in EF.
- Speedup
- Beschleunigung von Abfragen über das EF6.