Von Access zum Entity Framework: Basics

Wenn Sie ein Abonnement des Magazins 'DATENBANKENTWICKLER' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

Von Access zum Entity Framework: Basics

In den vorherigen Ausgaben haben wir bereits verschiedene Techniken erläutert und unter anderem kleine Desktop- und Webanwendungen programmiert. Dabei sind wir ein wenig vom eigentlichen Ziel des Magazins abgewichen – Access-Entwicklern die Möglichkeiten von Visual Studio und den dortigen Technologien für die Migration von Access-Anwendungen in Desktop- oder Webanwendungen aufzuzeigen. Mit diesem Artikel kehren wir dorthin zurück und erklären, wie Sie den Umzug einer Anwendung von Access zu .NET einleiten und welche Techniken wir dazu in Zukunft nutzen wollen.

Es gibt zahllose Möglichkeiten, wie Sie Desktop-Anwendungen ähnlich denen, die man mit Access erstellt, unter .NET zu programmieren. Das beginnt mit der Wahl der Technik für die Gestaltung der Benutzeroberfläche, geht über die Entscheidung, welches Datenbanksystem man einsetzt bis hin zur Technik für den Datenzugriff.

Benutzeroberfläche

Was die Gestaltung der Benutzeroberfläche angeht, haben wir von der ersten Ausgabe an gezeigt, wie Sie die Benutzeroberfläche mit WPF umsetzen. In der Zwischenzeit haben wir auch einige Artikel darauf verwendet, die Erstellung von Web-Anwendungen auf Basis von HTML zu erläutern.

Backend

Bezüglich des verwendeten Backends haben wir verschiedene Phasen durchlaufen: Zu Beginn haben wir gezeigt, wie Sie über ADO.NET auf die Tabellen einer Access-Datenbank zugreifen können. Access-Datenbanken sind aber aus verschiedenen Gründen nicht die erste Wahl für das Backend: Erstens ist die Dateigröße auf zwei Gigabyte beschränkt, zweitens gibt es kein Berechtigungssystem und drittens kann es nur eine stark begrenzte Anzahl gleichzeitiger Zugriffe verarbeiten. Hier sind andere Lösungen gefragt, weshalb wir auf den SQL Server respektive dessen abgespeckter Version namens LocalDb umgestiegen sind. Für solche Zwecke, wo kein SQL Server vorhanden ist, haben wir den Einsatz von SQLite erläutert.

Datenzugriffstechnik

Um den Umstieg zu erleichtern, haben wir zu Beginn noch auf Basis von Access-Datenbanken gearbeitet und auf diese über ADO.NET zugegriffen. Aus den oben genannten Gründen haben wir uns dann auf SQL Server und SQLite konzentriert. Das hat noch einen anderen Grund: Wer die Vorteile der objektorientierten Entwicklung stärker nutzen möchte und gleichzeitig weniger Zeit in die Programmierung des Datenzugriffs stecken möchte, kann einen sogenannten O/R-Mapper nutzen, einen Mapper, der ein Bindeglied zwischen der objektorientierten und der relationalen Welt bildet. In diesem Fall wollen wir den Zugriff auf die Daten über eine Reihe geeigneter Objekte realisieren, indem wir zum Beispiel auf die in Tabellen gespeicherten Entitäten in Form von Objekten zugreifen – und auf die Gesamtheit dieser Entitäten über entsprechende Auflistungsklassen.

Unsere Wahl fiel dabei auf das von Microsoft entwickelte Entity Framework. Hier haben wir zu Beginn erläutert, wie Sie ein Entity Data Model, also im Prinzip die Abbildung des relationalen Datenmodells, auf Basis einer bestehenden Tabelle erstellen. Dazu ist, wenn Sie von Access aus kommen, zuerst die Migration der Datenbank in eine Datenbank eines geeigneten Datenbanksystems erforderlich. Das Entity Framework bietet Treiber für verschiedene Datenbanksysteme an, zum Beispiel SQLite oder den SQL Server, aber nicht für Access – daher können wir hier nicht bei Access als Backendsystem verharren. Der Einsatz des Entity Frameworks bedingt also die komplette Abkehr von Access.

Wann Access nutzen und wann nicht

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]