Seminarverwaltung I: Entity Data Model

Es wird Zeit, die gelernten Techniken mal wieder an einer praktischen Lösung auszuprobieren. In diesem Fall soll es eine Anwendung werden, die ich selbst einsetzen will, da ich seit ein paar Wochen auch Webinare zu verschiedenen Themen anbiete. Die Herausforderung ist, die Kunden, die über einen Onlineshop bestellt haben, in die Anwendung einzulesen und diese den entsprechenden Seminaren beziehungsweise Webinaren zuzuordnen. Zu gegebener Zeit sollen die Teilnehmer eine Mail mit dem Link zur Teamssitzung erhalten und anschließend noch einen Link mit dem Download der Aufzeichnung des Seminars. Schließlich sollen auch noch Zertifikate über die Teilnahme erstellt und versendet werden. Wie dies alles gelingt, zeigt der vorliegende Artikel.

Projekt anlegen

Die Gestaltung einer Anwendung zum Verwalten von Daten startet mit dem Anlegen eines Projekts. Wir verwenden ein Projekt des Typs WPF-App (.NET Framework) mit der Sprache Visual Basic und auf Basis von XAML für die Gestaltung der Benutzeroberfläche.

Entity Data Model hinzufügen

Wir wollen die Daten in einer SQL Server-Datenbank speichern und über ein Entity Data Model auf diese Daten zugreifen. Dazu fügen wir dem Projekt ein Entity Data Model hinzu. Mit Strg + Umschalt + A öffnen wir den Dialog Neues Element hinzufügen und wählen dort den Eintrag ADO.NET Entity Data Model aus. Nach der Angabe des Namens SeminarverwaltungContext klicken wir auf die Schaltfläche Hinzufügen (siehe Bild 1).

Hinzufügen eines Entity Data Models

Bild 1: Hinzufügen eines Entity Data Models

Danach wählen Sie im Dialog Assistent für Entity Data Model den Eintrag Leeres Code First-Modell aus (siehe Bild 2).

Auswahl des Model-Typs

Bild 2: Auswahl des Model-Typs

Nach wenigen Sekunden erscheint die Klasse SeminarverwaltungContext, in der wir für jede zu erstellende Entität beziehungsweise Tabelle einen Eintrag hinzufügen. Hier finden wir auch eine Vorlage für eine Entitätsklasse.

Entitäten hinzufügen

Damit können wir beginnen, die gewünschten Entitäten hinzuzufügen. Dazu überlegen wir uns zunächst, welche Entitäten wir benötigen. Wir benötigen auf jeden Fall eine Entität für die Kunden und eine für die Seminare. Jedem Kunden soll jedes Seminar zugeordnet werden können und umgekehrt. Daher soll später in der Datenbank eine Verknüpfungstabelle erscheinen. Damit dies geschieht, benötigen wir keine eigene Entität für die Verknüpfungstabelle – die Beziehungstabelle erstellen wir dann über ein spezielles Mapping.

Die Kunden haben eine Anrede, die wir in einer eigenen Tabelle speichern und dann über ein Fremdschlüsselfeld zuweisen wollen, also legen wir auch eine entsprechende Entität für die Anreden an.

Es wird Zeit, die gelernten Techniken mal wieder an einer praktischen Lösung auszuprobieren. In diesem Fall soll es eine Anwendung werden, die ich selbst einsetzen will, da ich seit ein paar Wochen auch Webinare zu verschiedenen Themen anbiete. Die Herausforderung ist, die Kunden, die über einen Onlineshop bestellt haben, in die Anwendung einzulesen und diese den entsprechenden Seminaren beziehungsweise Webinaren zuzuordnen. Zu gegebener Zeit sollen die Teilnehmer eine Mail mit dem Link zur Teamssitzung erhalten und anschließend noch einen Link mit dem Download der Aufzeichnung des Seminars. Schließlich sollen auch noch Zertifikate über die Teilnahme erstellt und versendet werden. Wie dies alles gelingt, zeigt der vorliegende Artikel.

Projekt anlegen

Die Gestaltung einer Anwendung zum Verwalten von Daten startet mit dem Anlegen eines Projekts. Wir verwenden ein Projekt des Typs WPF-App (.NET Framework) mit der Sprache Visual Basic und auf Basis von XAML für die Gestaltung der Benutzeroberfläche.

Entity Data Model hinzufügen

Wir wollen die Daten in einer SQL Server-Datenbank speichern und über ein Entity Data Model auf diese Daten zugreifen. Dazu fügen wir dem Projekt ein Entity Data Model hinzu. Mit Strg + Umschalt + A öffnen wir den Dialog Neues Element hinzufügen und wählen dort den Eintrag ADO.NET Entity Data Model aus. Nach der Angabe des Namens SeminarverwaltungContext klicken wir auf die Schaltfläche Hinzufügen (siehe Bild 1).

Hinzufügen eines Entity Data Models

Bild 1: Hinzufügen eines Entity Data Models

Danach wählen Sie im Dialog Assistent für Entity Data Model den Eintrag Leeres Code First-Modell aus (siehe Bild 2).

Auswahl des Model-Typs

Bild 2: Auswahl des Model-Typs

Nach wenigen Sekunden erscheint die Klasse SeminarverwaltungContext, in der wir für jede zu erstellende Entität beziehungsweise Tabelle einen Eintrag hinzufügen. Hier finden wir auch eine Vorlage für eine Entitätsklasse.

Entitäten hinzufügen

Damit können wir beginnen, die gewünschten Entitäten hinzuzufügen. Dazu überlegen wir uns zunächst, welche Entitäten wir benötigen. Wir benötigen auf jeden Fall eine Entität für die Kunden und eine für die Seminare. Jedem Kunden soll jedes Seminar zugeordnet werden können und umgekehrt. Daher soll später in der Datenbank eine Verknüpfungstabelle erscheinen. Damit dies geschieht, benötigen wir keine eigene Entität für die Verknüpfungstabelle – die Beziehungstabelle erstellen wir dann über ein spezielles Mapping.

Die Kunden haben eine Anrede, die wir in einer eigenen Tabelle speichern und dann über ein Fremdschlüsselfeld zuweisen wollen, also legen wir auch eine entsprechende Entität für die Anreden an.

Access, SQL und Cloud Automation

Unser exklusives Angebot für Dich!

VB-Entwickler
12,50 € im Monat*

(Gilt für den Abschluss eines Jahres-Abonnements.)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →