Entity Framework - Code First Approach
Das Entity Framework bietet drei Ansätze zum Erstellen eines Entity-Modells, von denen jedes seine eigenen Vor- und Nachteile hat.
- Code zuerst
- Datenbank zuerst
- Modell zuerst
In diesem Kapitel werden wir den ersten Ansatz des Codes kurz beschreiben. Einige Entwickler arbeiten lieber mit dem Designer in Code, während andere lieber nur mit ihrem Code arbeiten. Für diese Entwickler verfügt Entity Framework über einen Modellierungsworkflow, der als Code First bezeichnet wird.
Der Code First-Modellierungsworkflow zielt auf eine nicht vorhandene Datenbank ab und wird von Code First erstellt.
Es kann auch verwendet werden, wenn Sie eine leere Datenbank haben und Code First dann auch neue Tabellen hinzufügt.
Mit Code First können Sie Ihr Modell mithilfe von C # - oder VB.Net-Klassen definieren.
Zusätzliche Konfigurationen können optional mithilfe von Attributen für Ihre Klassen und Eigenschaften oder mithilfe einer fließenden API durchgeführt werden.
Warum zuerst Code?
Code First besteht wirklich aus einer Reihe von Puzzleteilen. Zuerst sind Ihre Domain-Klassen.
Die Domänenklassen haben nichts mit Entity Framework zu tun. Sie sind nur die Elemente Ihrer Geschäftsdomäne.
Entity Framework verfügt also über einen Kontext, der die Interaktion zwischen diesen Klassen und Ihrer Datenbank verwaltet.
Der Kontext ist nicht spezifisch für Code First. Es ist eine Entity Framework-Funktion.
Code First fügt einen Modellbauer hinzu, der Ihre vom Kontext verwalteten Klassen überprüft und dann mithilfe einer Reihe von Regeln oder Konventionen bestimmt, wie diese Klassen und die Beziehungen ein Modell beschreiben und wie dieses Modell Ihrer Datenbank zugeordnet werden soll.
All dies geschieht zur Laufzeit. Sie werden dieses Modell nie sehen, es ist nur in Erinnerung.
Code First kann dieses Modell verwenden, um bei Bedarf eine Datenbank zu erstellen.
Es kann auch die Datenbank aktualisieren, wenn sich das Modell ändert, indem eine Funktion namens Code First Migrations verwendet wird.