Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
In der Artikelreihe zum Thema Rechnungsverwaltung haben wir ein Rechnungsverwaltungsprogramm mit SQL Server-Datenbank programmiert. SQL Server ist ein sehr zuverlässiges und gutes System für viele Anwendungen. Wenn wir aber eine kleine Rechnungsverwaltung nutzen wollen, die auch bei Freiberuflern oder Selbständigen ohne SQL Server auf dem Rechner laufen soll, benötigen wir eine Alternative. Hier kommt SQLite ins Spiel: eine sehr leichte Datenbanklösung, die noch nicht einmal eine Installation erfordert. Dieser Artikel zeigt, wir wir eine SQLite-Variante von unserer Rechnungsverwaltung erstellen.
Voraussetzung
Wir gehen an dieser Stelle von der Version der Lösung aus, die wir in den drei Beiträgen Rechnungsverwaltung, Teil 1: Grundlagen (www.datenbankentwickler.net/221), Rechnungsverwaltung, Teil 2: Rechnungspositionen (www.datenbankentwickler.net/222) und Rechnungsbericht mit XAML (www.datenbankentwickler.net/223) erstellt haben.
Ziel der Umstellung
Unsere bisherige Version der Rechnungsverwaltung verwendet den SQL Server als Datenbanksoftware. Diesen muss man zunächst installieren, bevor man eine Anwendung nutzen kann, die eine SQL Server-Datenbank zum Speichern ihrer Daten einsetzt. Für viele Anwendungsfälle ist das sinnvoll – vor allem, wenn ohnehin schon eine SQL Server-Installation vorhanden ist. Falls nicht, kann man auch eine der kostenlosen Varianten des SQL Servers installieren.
Wenn man jedoch eine Anwendung programmiert, die man beispielsweise zum Download für Benutzer mit einfachen Anforderungen anbieten möchte, ist der Aufwand zum Installieren der SQL Server-Software übertrieben hoch. Der Benutzer möchte die Anwendung herunterladen, in wenigen Sekunden bis Minuten installieren und diese dann in Betrieb nehmen.
Für diese Zwecke gibt es wesentlich leichtgewichtigere SQL-Datenbanken – zum Beispiel SQLite. Um eine SQLite-Datenbank zu nutzen, brauchen Sie nur ein paar Dateien im Verzeichnis Ihrer Anwendung zu installieren – und die eigentliche Datenbank kommt ebenfalls in Form einer handlichen Datei. Deshalb möchten wir dafür sorgen, dass Sie die Rechnungsverwaltung genauso mit SQLite nutzen können wie es uns zuvor mit dem SQL Server gelungen ist.
Umstellen auf SQLite
Die Umstellung nehmen wir nun Schritt für Schritt vor. Um Probleme bezüglich der Kompatibilität zwischen den einzelnen Komponenten zu vermeiden, entfernen wir zunächst alle per NuGet-Paketmanager hinzugefügten Pakete. Dazu öffnen wir den Paket-Manager über den Kontextmenü-Eintrag NuGet-Pakete verwalten… des Projekt-Elements im Projektmappen-Explorer.
Hier wechseln Sie, wenn dieser nicht bereits angezeigt wird, zum Bereich Installiert und entfernen den einzigen Eintrag EntityFramework. Dazu klicken Sie diesen Eintrag an und betätigen dann die Deinstallieren-Schaltfläche (siehe Bild 1).
Bild 1: Entfernen des aktuellen EntityFramework-Pakets
Hinzufügen der benötigten Pakete
Nun wechseln Sie zum Bereich Durchsuchen und geben den folgenden Suchbegriff ein:
System.Data.SQLite.EF6.Migrations
Dieses Paket erscheint dann in der Ergebnisliste ganz oben. Markieren Sie diesen Eintrag und klicken Sie rechts auf die Schaltfläche Installieren (siehe Bild 2).
Bild 2: Hinzufügen des Pakets System.Data.SQLite.EF6.Migrations
Der Vorgang dauert einige Sekunden, weil wir hier das unterste Element in der Hierarchie voneinander abhängiger Pakete ausgewählt haben. Wohlwissend, dass die benötigten Elemente, die sich in der Hierarchie über diesem Paket befinden, automatisch mit installiert werden. Zwischenzeitlich akzeptieren Sie die Lizenz für das Element Apache-2.0. Danach werden weitere Pakete installiert.