Entity Framework 4 - Model First
Beim EF 1 gehört es zu den Best Practices, wenn "Empty Model" nicht benutzt wird, bei der neuen Version ist das jetzt anders. Mit dem Designer kann das Modell erstellt und anschliessend das Datenbankskript erstellt werden. Die Funktionalität ist nicht sehr schwer zu erlernen, da es nur die 3 Elemente "Association", "inheritance" und "Entity" gibt.
Das Datenbankskript kann mithilfe des Menüpunkt „Generate Database Item“ erstellt werden.
Folgende Punkte gefallen mir an dieser Variante:
- Die Indizes für Fremdschlüssel werden auch angelegt.
- Es steht ein Workflow zur Verfügung, über den die Generierungsstrategie erweitert werden kann.
- Es können eigene T4-Vorlagen für das DDL-Skript eingebunden werden.
Folgende Punkte gefallen mir noch nicht:
- Der Workflow unterstützt zurzeit nur Table per Type (TPT). Bei Vererbung, wie im oberen Beispiel ist diese Strategie nicht immer die beste Wahl. Im relationalen Datenmodell gibt es zwar diesen Ansatz auch und Person wäre die Superentität, aber es hat sich nicht durchgesetzt. Die TPH-Strategie wäre in diesem Fall die bessere Wahl. Der Workflow lässt zwar die Erweiterung zu, aber es gibt im Moment noch keine fertigen Workflow-Vorlagen.
- Wenn das Modell erweitert wird, gibt es nicht die Möglichkeit ein DDL-Differenzskript zu erstellen. Wer so etwas will, muss eigene T4-Vorlagen erstellen.
- Es besteht nicht die Möglichkeit Klassen in Namensräumen zusammen zufassen.
- Es kann nur ein Datenbankschema für das Modell angelegt werden.
Die letzten beiden Punkte lassen sich sicherlich lösen, indem mehrere Modelle angelegt werden, aber das wird auch unerwünschte Nebeneffekte zur Folge haben, da jedes Modell einen eigenen Kontext verwendet.
- 0 Kommentar(e)




Mein Kommentar