EDM: Einfaches Detailfenster

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

Wie Sie ein DataGrid-Steuerelement mit den Daten aus einem Entity Data Model füttern, haben Sie bereits im Artikel “Einführung in das Entity Framework” erfahren. Allerdings möchten Sie gelegentlich auch in den Datensätzen einer Tabelle blättern, die enthaltenen Daten ändern oder neue Datensätze hinzufügen – ganz, wie es unter Access in einem einfachen Detailformular möglich war. Dieser Artikel zeigt, wie Sie dies mit den eingebauten Funktionen von Visual Studio einfach bewerkstelligen können.

Das Ziel dieses Artikels ist es also, ein neues Fenster zu erstellen, das über das Entity Data Model an eine Tabelle gebunden ist – in diesem Fall an die Tabelle Kunden unserer Beispieldatenbank namens Bestellverwaltung – und das die Daten jeweils eines Datensatzes in entsprechenden Steuerelementen anzeigt. Außerdem wollen wir dem Fenster einige Schaltflächen hinzufügen, mit denen der Benutzer zum ersten, vorherigen, nächsten und letzten und zu einem neuen Datensatz springen kann. Schließlich soll der Benutzer auch Änderungen durchführen und diese speichern können.

Wir verwenden dabei ein neues Projekt des Typs Visual C#|WPF-Anwendung. Anschließend erstellen Sie nach bewährter Art ein Entity Data Model mit den Daten der zu verwendenden Datenbank.

Fügen Sie also ein neues Element des Typs ADO.NET Entity Data Model zum Projekt hinzu und nennen Sie es BestellverwaltungModel. Im folgenden Dialog behalten Sie den Eintrag EF Designer aus Datenbank bei. Im nächsten Dialog klicken Sie auf Neue Verbindung und wählen dort Microsoft SQL Server aus.

Im Dialog Verbindungseigenschaften geben Sie (localdb)\MSSQLLocalDB als Servername und Bestellverwaltung unter Mit Datenbank verbinden ein (siehe Bild 1). Wir gehen an dieser Stelle davon aus, dass Sie die Bestellverwaltung-Datenbank bereits an den SQL Server oder LocalDB angehängt haben (dies erledigen Sie am einfachsten über den SQL Server Management Studio).

Hinzufügen der Verbindung

Bild 1: Hinzufügen der Verbindung

Kehren Sie zum vorherigen Dialog zurück und klicken Sie auf Weiter. Die Verbindungseinstellungen wollen wir unter dem Namen BestellverwaltungEntities speichern. Behalten Sie im folgenden Schritt den Wert Entity Framework 6.x bei.

Unter Wählen Sie Ihre Datenbankobjekte und Einstellungen klicken Sie einfach den Eintrag Tabellen an. Damit fügen Sie alle Tabellen zum Entity Data Model hinzu. Unter Modelnamespace: können Sie den Wert BestellverwaltungModel beibehalten.

Danach erstellt Visual Studio das Entity Data Model und zeigt dieses in einem Diagramm an. Ändern Sie hier noch die Namen der Klassen vom Plural in den Singular, also etwa von Kategorien in Kategorie.

Nun erstellen Sie das Projekt erstmalig mit dem Menüeintrag Erstellen| erstellen.

Felder zum Fenster hinzufügen

Nun schauen wir uns den einfachsten Weg an, um die Felder einer Klasse des Entity Data Models zu einem Fenster hinzuzufügen – und zwar zum Fenster MainWindow.xaml. Dies wollen wir dazu einfach aus einer entsprechenden Liste in das Fenster ziehen – ähnlich, wie es bei der Feldliste beim Formularentwurf unter Access geschieht.

Um dies zu erledigen, müssen wir zunächst auf Basis des Entity Data Models eine Datenquelle erstellen. Dazu aktivieren Sie, sofern noch nicht geschehen, den Bereich Datenquellen, und zwar über den Menübefehl Ansicht|Weitere Fenster|Datenquellen. Der Dialog erwartet Sie dann wie in Bild 2.

Noch keine Datenquellen vorhanden

Bild 2: Noch keine Datenquellen vorhanden

Hier benötigen wir nun eine Datenquelle. Dazu klicken Sie auf den Link Neue Datenquelle hinzufügen… und öffnen so den Assistenten zum Konfigurieren von Datenquellen. Dieser bietet vier mögliche Quellen für die Daten an, von denen wir den Eintrag Objekt auswählen (siehe Bild 3).

Die Daten sollen aus einem Objekt bezogen werden.

Bild 3: Die Daten sollen aus einem Objekt bezogen werden.

Im folgenden Schritt werden dann die Objekte des Projekts angezeigt. Unter dem Projektnamen finden Sie einen weiteren Eintrag gleichen Namens, der dann schließlich die Klassen des Projekts anbietet, unter anderem eben auch die Klassen des Entity Data Models, also Kunde, Artikel, Bestellung et cetera. Hier wählen Sie nun wie in Bild 4 den Eintrag Kunde aus.

Auswählen des Quellobjekts, hier namens Kunde

Bild 4: Auswählen des Quellobjekts, hier namens Kunde

Nach einem Klick auf die Schaltfläche Fertigstellen erscheinen die Felder der Klasse Kunde im Datenquellen-Dialog (siehe Bild 5).

Nun steht eine Datenquelle zur Verfügung.

Bild 5: Nun steht eine Datenquelle zur Verfügung.

Damit haben wir uns außerdem einen neuen Eintrag im neuen Ordner DataSources im Bereich Properties des Projektmappen-Explorers geholt – und zwar namens Kunde.datasource (siehe Bild 6).

 

Schreibe einen Kommentar