Arbeit mit Datenbanken in C#: PostgreSQL und MongoDB für Einsteiger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung: Warum braucht ein C#-Entwickler Datenbanken?

Jede moderne Anwendung – von einem einfachen Blog bis zu einem unternehmensweiten ERP-System – speichert Daten. Ohne eine Datenbank (DB) ist eine dauerhafte Speicherung, schnelle Suche und Datenintegrität nicht möglich. Für einen C#-Entwickler ist die Fähigkeit, mit Datenbanken zu arbeiten, nicht nur ein Plus, sondern eine zwingende Fähigkeit. In diesem Artikel betrachten wir zwei beliebte DBMS: das relationale PostgreSQL und die dokumentenorientierte MongoDB. Sie erfahren, wie Sie sich aus einer .NET-Anwendung mit ihnen verbinden und grundlegende Operationen (CRUD) durchführen. Der Artikel richtet sich an Einsteiger, daher gehen wir von der Installation bis zum ersten funktionierenden Code vor.



1. Umgebungsvorbereitung und Treiberinstallation

Bevor wir Code schreiben, müssen wir die Datenbanken selbst installieren und die entsprechenden NuGet-Pakete zum C#-Projekt hinzufügen.



1.1. Installation von PostgreSQL und MongoDB

  • PostgreSQL: Laden Sie die neueste Version von der offiziellen Website postgresql.org herunter. Merken Sie sich bei der Installation den Port (standardmäßig 5432) und das Passwort für den Superuser postgres.
  • MongoDB: Laden Sie die Community Edition von mongodb.com herunter. Installieren Sie es als Dienst. Der Einfachheit halber können Sie auch MongoDB Compass installieren – eine grafische Oberfläche zur Datenansicht.

Stellen Sie nach der Installation sicher, dass die Dienste gestartet sind. Verwenden Sie zur Überprüfung die Kommandozeile (für PostgreSQL: psql -U postgres, für MongoDB: mongosh).



1.2. Projekterstellung und Paketinstallation

Erstellen Sie eine .NET 8-Konsolenanwendung:

dotnet new console -n DatabaseDemocd DatabaseDemo

Installieren Sie nun die erforderlichen Treiber:

// Für PostgreSQLdotnet add package Npgsql

// Für MongoDBdotnet add package MongoDB.Driver

Npgsql ist ein vollwertiger .NET-Provider für PostgreSQL. MongoDB.Driver ist der offizielle Treiber von MongoDB, Inc.



2. Arbeiten mit PostgreSQL in C#

PostgreSQL ist ein objektrelationales DBMS. Daten werden in Tabellen gespeichert, die über Fremdschlüssel miteinander verbunden sind. Für die Arbeit verwenden wir rohe SQL-Abfragen über Npgsql, damit Sie die Mechanik der Verbindung und Befehlsausführung verstehen.



2.1. Verbindung zum Server und Tabellenerstellung

Erstellen Sie zunächst eine Datenbank (z. B. shopdb) über psql oder per Code. Im Code verbinden wir uns mit einer bereits bestehenden DB. Schreiben wir eine Methode zum Erstellen der Tabelle Products:

using Npgsql;

string connectionString = "Host=localhost;Port=5432;Database=shopdb;Username=postgres;Password=your_password";

using var connection = new NpgsqlConnection(connectionString);connection.Open();

string createTable = @"CREATE TABLE IF NOT EXISTS Products ( Id SERIAL PRIMARY KEY, Name VARCHAR(100) NOT NULL, Price DECIMAL(10,2) NOT NULL, Quantity INT DEFAULT 0);";

using var command = new NpgsqlCommand(createTable, connection);command.ExecuteNonQuery();Console.WriteLine("Tabelle erstellt.");

Beachten Sie: Wir verwenden using zum automatischen Schließen der Verbindung. Der Typ SERIAL erstellt automatisch ein autoinkrementierendes Feld.



2.2. CRUD-Operationen (Insert, Select, Update, Delete)

Fügen wir einige Produkte hinzu und geben sie auf dem Bildschirm aus:

// Daten einfügenstring insert = "INSERT INTO Products (Name, Price, Quantity) VALUES (@n, @p, @q)";using var cmdInsert = new NpgsqlCommand(insert, connection);cmdInsert.Parameters.AddWithValue("@n", "Laptop");cmdInsert.Parameters.AddWithValue("@p", 79999.99m);cmdInsert.Parameters.AddWithValue("@q", 10);cmdInsert.ExecuteNonQu                

Blogs

Buchempfehlungen