Entity Data Model für eine Datenbank erstellen

Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!

In den vorangegangenen Ausgaben von DATENBANKENTWICKLER haben Sie bereits erfahren, wie Sie per ADO.NET auf die Daten der Tabellen einer Datenbank zugreifen. Nun nutzen wir nicht mehr direkt ADO.NET, sondern das Entity Framework als Datenlieferant, welches eine ganz andere Art des Zugriffs ermöglicht. Dieser Artikel zeigt zunächst, wie Sie die Verbindung zu einer Beispieldatenbank einrichten und dann die für den Zugriff per C# oder die Anzeige in WPF-Fenstern und -Steuerelementen nötigen Objekte erstellen.

Im Artikel Datenbanken erstellen mit dem SSMA haben wir eine kleine Beispieldatenbank mit dem SQL Server Management Studio auf Basis von LocalDB erstellt. Auf diese wollen wir nun mit dem Entity Framework zugreifen, um die Vorbereitung für den Zugriff per C# oder die Anzeige in mit WPF definierten Benutzeroberflächen zu erledigen.

Entity Data Model anlegen

Als Erstes erstellen wir dazu das Entity Data Model auf Basis der Tabellen der Beispieldatenbank. Dazu legen Sie ein neues Projekt des Typs C#|Konsolenanwendung an und nennen es EF_Zugriff.

Wählen Sie dazu im Objektmappen-Explorer auf dem Kontextmenü des Projekts den Eintrag Hinzufügen|Neues Element aus. Der Typ des gewünschten neuen Objekts heißt ADO.NET Entity Data Model, der Name soll BestellverwaltungModel lauten (siehe Bild 1).

Hinzufügen eines neuen Entity Data Models

Bild 1: Hinzufügen eines neuen Entity Data Models

Im nun erscheinenden Dialog Assistent für Entity Data Model wählen Sie unter dem Schritt Modellinhalte auswählen den Eintrag EF Designer aus Datenbank aus, da wir ja bereits eine Datenbank vorbereitet haben (siehe Bild 2).

Art des Modellinhalts

Bild 2: Art des Modellinhalts

Daraufhin erscheint der Dialog-Schritt Wählen Sie Ihre Datenverbindung aus. Hier klicken Sie auf Neue Verbindung… und wählen im folgenden Dialog Datenquelle auswählen den Eintrag Microsoft SQL Server aus (siehe Bild 3).

Auswahl der Datenquelle

Bild 3: Auswahl der Datenquelle

Tragen Sie dort den Namen des Servers ein oder wählen Sie ihn aus der Liste aus, soweit vorhanden. Wenn Sie, wie oben vorgeschlagen, LocalDB verwenden und eine einzige Instanz von LocalDB auf dem Rechner installiert haben, können Sie hier (localdb)\SQLLocalDB eintragen, sonst geben Sie die Version mit an – also etwa (localdb)\v11.0 wie in Bild 4. Wählen Sie dann unter Mit Datenbank verbinden die gewünschte Datenbank aus, sofern diese schon von LocalDB verwaltet wird. Anderenfalls können Sie eine .mdf-Datei unter Datenbankdatei anhängen angeben. Klicken Sie auf OK.

Auswahl der Datenbank

Bild 4: Auswahl der Datenbank

Damit kehren Sie zum Schritt Wählen Sie Ihre Datenverbindung aus und können dort mit einem Klick auf die Schaltfläche Weiter > zum nächsten Schritt wechseln.

Der Assistent fragt Sie nun, ob Sie, falls Sie eine Datenbankdatei angegeben haben, diese in den Projektordner kopieren möchten. Dies macht beispielsweise Sinn, wenn Sie diese Datei mit dem Projekt weitergeben möchten.

Im nächsten Schritt fragt der Assistent Sie unter dem Titel Wählen Sie Ihre Version, welche Version des Frameworks Sie verwenden möchten. Wir wählen den Wert Entity Framework 6.x aus.

Im nächsten Schritt wird es nun interessant: Hier finden wir die Objekte der Datenbank vor, in diesem Fall die wie im Artikel Datenbanken erstellen mit dem SSMA angelegten Tabellen (siehe Bild 5). Um alle hier angegebenen Tabellen gleichzeitig zu markieren, klicken Sie einfach auf den Eintrag Tabellen. Unten finden Sie noch zwei Optionen, mit denen Sie die Erstellung der Klassen des Entity Frameworks steuern können. Die erste ist für uns nicht relevant, da wir den Tabellen des Datenmodells deutsche Bezeichnungen gegeben haben – bei englischen Bezeichnungen würde einem diese Option etwas Arbeit durch das Anhängen/Entfernen von s bei Singular/Plural abnehmen (Customer/Customers). Die Option Fremdschlüsselspalten in das Modell einbeziehen behalten wir hingegen bei. Außerdem legen wir als Name des Namespaces für das Model den vorgegebenen Wert BestellverwaltungModel fest.

Auswahl der zu verwendenden Datenbankobjekte

Bild 5: Auswahl der zu verwendenden Datenbankobjekte

 

Schreibe einen Kommentar