Entity Framework 4 - Model First

Ein neues Feature des Entity Frameworks ist Model First. Der Einstieg erfolgt beim Anlegen eines neuen Modells.

Abbildung 1
Abbildung 1 Auswahl Datenbank oder leeres Modell

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.

Abbildung 2
Abbildung 2 Beispiel Model First

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

Über jeden weiteren Kommentar in diesem Post benachrichtigen.

Zurück

Translate this page

Kategorien

  • [-].NET Development (215)
  • [-]Datenbank (26)
  • HTML (1)
  • Konfiguration (12)
  • Mind Map (10)
  • Off-topic (9)
  • Open Source (3)
  • Qualität (7)
  • Sharepoint (6)
  • Sicherheit (2)

Archiv

Social Bookmarking

Bookmark bei: Mr. Wong Bookmark bei: Webnews Bookmark bei: Icio Bookmark bei: Oneview Bookmark bei: Linkarena Bookmark bei: Favoriten Bookmark bei: Seekxl Bookmark bei: Favit Bookmark bei: Social Bookmarking Tool Bookmark bei: Power Oldie Bookmark bei: Bookmarks.cc Bookmark bei: Newskick Bookmark bei: Newsider Bookmark bei: Linksilo Bookmark bei: Readster Bookmark bei: Folkd Bookmark bei: Yigg Bookmark bei: Digg Bookmark bei: Del.icio.us Bookmark bei: Reddit Bookmark bei: Simpy Bookmark bei: StumbleUpon Bookmark bei: Slashdot Bookmark bei: Netscape Bookmark bei: Furl Bookmark bei: Yahoo Bookmark bei: Spurl Bookmark bei: Google Bookmark bei: Blinklist Bookmark bei: Blogmarks Bookmark bei: Diigo Bookmark bei: Technorati Bookmark bei: Newsvine Bookmark bei: Blinkbits Bookmark bei: Ma.Gnolia Bookmark bei: Smarking Bookmark bei: Netvouz Information