TOC

This article has been localized into German by the community.

Mit Datenbanken arbeiten:

Start

In den vorherigen Artikeln haben wir uns für ein Datenbankmodul (MS SQL Server und zum Testen / Entwickeln: Die SQL Server Express LocalDB) und ein Datenbankframework / ORM (adrett) entschieden. In diesem Artikel werde ich Ihnen helfen, mit beiden zu beginnen, damit Sie fortfahren und mehr darüber erfahren können, wie Sie Ihre ASP.NET MVC-Projekte mit einer Datenbank zusammenarbeiten lassen.

In diesen nächsten Artikeln erstellen wir eine vollständige (aber einfache) datenbankgesteuerte TODO-Liste. Neben der Datenbank-Engine und dem Framework, auf die wir jetzt eingehen, benötigen Sie dafür ein neues ASP.NET MVC Core-Projekt. Der Vorgang zum Erstellen eines neuen Projekts wurde bereits in diesem Lernprogramm beschrieben. Wenn Sie sich nicht sicher sind, wie Sie dies tun sollen, lesen Sie einfach alles darüber.

Einrichten von SQL Server Express (LocalDB)

Wie in einem der vorherigen Artikel erwähnt, wird Microsoft SQL Server mit einer einfach zu installierenden Entwicklungsversion namens SQL Server Express (LocalDB) ausgeliefert. Der letzte Teil des Namens ist sehr aussagekräftig: Anstatt einen vollständigen SQL-Server mit all seinen Diensten auf Ihrem Entwicklungscomputer auszuführen, der (theoretisch) von jedem anderen Computer im Internet aus erreichbar ist, ist die LocalDB-Alternative vollständig eingeschränkt SQL Server-Version, die nur lokal auf Ihrem Computer erreichbar ist. Anstatt rund um die Uhr als ständig laufender Dienst verfügbar zu sein, wird die LocalDB dann gestartet, wenn Sie sie benötigen.

Die LocalDB wird zusammen mit Visual Studio installiert (es sei denn, Sie haben das Installationsprogramm aktiv darum gebeten das nicht zu tun), und Sie können sie sogar in Visual Studio steuern. Wenn das Tool-Fenster dazu noch nicht angezeigt wird, rufen Sie einfach das Menü Ansicht auf und klicken Sie auf SQL Server-Objekt-Explorer:

Das Fenster des SQL Server Object Explorer-Tools wird nun angezeigt und sieht ungefähr so aus:

Klappen Sie den Knoten (localdb) auf, sodass Sie Datenbanken usw. sehen können. Der Knoten Datenbanken ist leer. Wir müssen etwas dagegen tun, indem wir eine neue Datenbank für unser nächstes TodoList-Projekt erstellen:

Eine neue Datenbank erstellen

Geben Sie in dem daraufhin angezeigten Dialogfeld Ihrer Datenbank einen geeigneten Namen. Ich habe meine TodoList aufgerufen, genau wie das Visual Studio-Projekt, das ich zu diesem Zweck erstellt habe.

Eine Tabelle hinzufügen

Eine SQL Server-Datenbank kann mehrere Tabellen enthalten, die die eigentlichen Daten enthalten. Eine Tabelle ähnelt einer Klasse in Ihrem Code - sie enthält Informationen zu einer bestimmten Entität. Für unser Projekt benötigen wir eine Tabelle, die alle auf unserer TODO-Liste gefundenen Elemente enthält. Ein geeigneter Name für diese Tabelle wäre daher TodoListItems.

Das Hinzufügen einer Tabelle ist genauso einfach wie das Hinzufügen einer Datenbank:

Daraufhin wird das Fenster "Tabellen-Designer" angezeigt, in dem Sie die Zeilen hinzufügen können, die Sie für diese Tabelle benötigen. So sieht meine Tabelle TodoListItems aus:

Sie können die vorhandenen Zeilen entweder neu erstellen oder Zeit sparen: Kopieren Sie einfach die folgende SQL in den T-SQL-Teil des Designers:

CREATE TABLE [dbo].[TodoListItems]
(
    [Id] INT NOT NULL PRIMARY KEY IDENTITY,
    [AddDate] DATETIME NOT NULL,
    [Title] NVARCHAR(200) NOT NULL,
    [IsDone] BIT NOT NULL DEFAULT 0
)

Wenn Sie fertig sind, klicken Sie einfach auf die Schaltfläche Aktualisieren (Sie sehen es im Screenshot oben). Dadurch wendet Visual Studio SQL auf Ihre Datenbank an und erstellt damit die neue Tabelle. Sie wird sofort im SQL Server-Objekt-Explorer angezeigt. Herzlichen Glückwunsch, Sie haben jetzt eine Datenbank mit einer Tabelle mit Zeilen - mit anderen Worten, das Daten-Backend ist einsatzbereit!

Dapper hinzufügen

Mit der vorhandenen Datenbank benötigen wir nur noch das Datenbank-Framework, wie in den vorherigen Artikeln beschrieben. Dank des NuGet-Paketsystems ist die Installation von Bibliotheken von Drittanbietern in Ihren Projekten sehr einfach. Sie können dies über die Benutzeroberfläche oder über die NuGet-Konsole tun: Wählen Sie im Menü Tools die Option NuGet Package Manager -> Package Manager-Konsole: Die Konsole wird in einem Tool-Fenster wie folgt geöffnet:

Geben Sie nun den folgenden Befehl ein und drücken Sie die Eingabetaste:

Install-Package Dapper

Dadurch installiert der NuGet-Manager die neueste Version der Dapper -Bibliothek in Ihrem Projekt!

Wenn von persistentem Speicher gesprochen wird, bei dem es sich beispielsweise um eine Datenbank wie SQL Server handelt, wird häufig das Konzept von CRUD erwähnt. Es steht für Create, Read, Update, Delete - das sind Operationen, die IMMER vorhanden sein werden, wenn Sie mit einer Datenbank arbeiten. Dapper enthält jedoch nur Methoden zum Lesen. Dies liegt daran, dass die Bibliothek so schlank und schnell wie möglich gehalten werden soll: Sie führt die gesamte Zuordnung für Sie durch, und Sie können die Daten aus der Datenbank abrufen. Wenn Sie jedoch eine der anderen Operationen ausführen möchten, müssen Sie dies tun müssen die SQL dafür manuell schreiben.

Aber keine Sorge! Es gibt viele Dapper-Erweiterungen von Drittanbietern, mit denen die Funktionalität von Dapper für diese Vorgänge sowie für viele andere nützliche Aufgaben erweitert werden kann. Dapper.Contrib ist ein gutes Beispiel dafür - es fügt einfach die CRUD-Operationen wie Insert(), Update() und Delete() hinzu, die wir benötigen. Es kann genauso einfach wie Dapper selbst installiert und erweitert werden, genau wie bei Dapper sind auch hier die Klassen einfach, die Sie sowieso verwenden werden. Führen Sie den folgenden Befehl in der Package Manager-Konsole aus:

Install-Package Dapper.Contrib

Damit sind wir endlich bereit, fortzufahren.

Zusammenfassung

Wir haben jetzt eine Datenbank mit einer Tabelle, die unsere TODO-Listenelemente enthält, und wir haben unser Datenbank-Framework (Dapper) installiert. Im nächsten Artikel werden wir uns weiter darum bemühen, unsere datenbankgesteuerte ASP.NET MVC-TODO-Liste zu erstellen.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!