Introduction : pourquoi un développeur C# a-t-il besoin de bases de données ?
Toute application moderne — d'un simple blog à un système ERP d'entreprise — stocke des données. Sans base de données (BD), il est impossible d'assurer un stockage permanent, une recherche rapide et l'intégrité des informations. Pour un développeur C#, savoir travailler avec des bases de données n'est pas simplement un plus, mais une compétence obligatoire. Dans cet article, nous allons examiner deux SGBD populaires : le relationnel PostgreSQL et l'orienté documents MongoDB. Vous apprendrez comment vous y connecter depuis une application .NET et effectuer des opérations de base (CRUD). L'article est destiné aux débutants, nous allons donc avancer de l'installation jusqu'au premier code fonctionnel.
1. Préparation de l'environnement et installation des pilotes
Avant d'écrire du code, il est nécessaire d'installer les bases de données elles-mêmes et d'ajouter au projet C# les paquets NuGet correspondants.
1.1. Installation de PostgreSQL et MongoDB
- PostgreSQL : Téléchargez la dernière version depuis le site officiel postgresql.org. Lors de l'installation, notez le port (par défaut 5432) et le mot de passe du superutilisateur
postgres. - MongoDB : Téléchargez la Community Edition depuis mongodb.com. Installez-la en tant que service. Pour plus de commodité, vous pouvez également installer MongoDB Compass — une interface graphique pour visualiser les données.
Après l'installation, assurez-vous que les services sont démarrés. Pour vérifier, utilisez la ligne de commande (pour PostgreSQL : psql -U postgres, pour MongoDB : mongosh).
1.2. Création du projet et installation des paquets
Créez une application console .NET 8 :
dotnet new console -n DatabaseDemocd DatabaseDemoInstallez maintenant les pilotes nécessaires :
// Pour PostgreSQLdotnet add package Npgsql
// Pour MongoDBdotnet add package MongoDB.DriverNpgsql est un fournisseur .NET complet pour PostgreSQL. MongoDB.Driver est le pilote officiel de MongoDB, Inc.
2. Travailler avec PostgreSQL en C#
PostgreSQL est un SGBD objet-relationnel. Les données sont stockées dans des tables reliées entre elles par des clés étrangères. Pour travailler, nous utiliserons des requêtes SQL brutes via Npgsql, afin que vous compreniez la mécanique de connexion et d'exécution des commandes.
2.1. Connexion au serveur et création de table
Créez d'abord une base de données (par exemple, shopdb) via psql ou via le code. Dans le code, nous nous connecterons à une BD existante. Écrivons une méthode pour créer la table 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("Table créée.");Notez : nous utilisons using pour fermer automatiquement la connexion. Le type SERIAL crée automatiquement un champ auto-incrémenté.
2.2. Opérations CRUD (Insert, Select, Update, Delete)
Ajoutons quelques produits et affichons-les à l'écran :
// Insertion de donnéesstring insert = "INSERT INTO Products (Name, Price, Quantity) VALUES (@n, @p, @q)";using var cmdInsert = new NpgsqlCommand(insert, connection);cmdInsert.Parameters.AddWithValue("@n", "Ordinateur portable");cmdInsert.Parameters.AddWithValue("@p", 79999.99m);cmdInsert.Parameters.AddWithValue("@q", 10);cmdInsert.ExecuteNonQu