Présentation et installation

1. Qu’est‑ce que Dapper

Dapper est un Micro ORM .NET, surnommé le roi des Micro ORM, dont les performances sont proches de l’ADO.NET natif.

ORM : Mappeur Objet‑Relationnel. Il assure le mappage automatique entre les tables de base de données et les entités C#.

Caractéristiques principales :

  1. Il n’encapsule pas le SQL, vous écrivez vos propres requêtes SQL ;
  2. Il étend IDbConnection au moyen de méthodes d’extension (utilisable directement sur tous les objets de connexion) ;
  3. Léger et extrêmement performant.

Précision : au sens strict c’est un Micro ORM, à la différence des ORM complets comme EF Core. La communauté débat toujours pour savoir s’il s’agit d’un ORM pur.

Protection contre l’injection SQL : utilisez des requêtes paramétrées pour éviter les injections. Concaténer du SQL reste risqué.

Trois étapes d’exécution : créer la connexion base de données → écrire l’instruction SQL → appeler la méthode d’extension Dapper pour exécuter le SQL avec les paramètres.

Fonctionnalités

  • Hautes performances, requêtes rapides
  • Prend en charge le mappage vers des entités statiques et des objets dynamiques
  • Contrôle total sur les instructions SQL
  • Gestion des jeux de résultats multiples
  • Support natif des procédures stockées
  • Fondé sur l’interface IDbConnection, compatible avec tous les pilotes de bases de données
  • Insertion en masse (fonctionnalité étendue ; insertion simple native, préférez Dapper.Plus pour les gros volumes)

Installation

Méthode 1 : Console du gestionnaire de paquets NuGet (PMC)
Install-Package Dapper
Méthode 2 : .NET CLI (recommandé pour .NET Core/.NET5+)
dotnet add package Dapper
Méthode 3 : Interface graphique Visual Studio

Explorateur de solutions → clic‑droit sur le projet → Gérer les paquets NuGet, rechercher Dapper et installer.

Important : Dapper n’inclut aucun pilote de base de données !
Pour SQL Server installez Microsoft.Data.SqlClient ; pour MySQL utilisez MySqlConnector.

Exemple

using Dapper;
using Microsoft.Data.SqlClient;

// 1. Créer IDbConnection
string connStr = "votre chaîne de connexion";
using var conn = new SqlConnection(connStr);

// 2. Écrire le SQL
string sql = "SELECT * FROM Article WHERE Id = @Id";

// 3. Exécuter la requête et mapper automatiquement l’entité
var article = conn.QueryFirstOrDefault<Article>(sql, new { Id = 1 });

public class Article
{
    public int Id { get; set; }
    public string Title { get; set; }
}Langage du code : JavaScript (javascript)

Comparatif

FrameworkTypeContrôle SQLCas d’usage
DapperMicro ORMSQL écrit manuellementBesoins de performance, requêtes complexes, migration d’anciens projets
EF CoreFull ORMSQL généré automatiquement, SQL natif autoriséDéveloppement rapide, métier simple, éviter d’écrire du SQL à la main

Présentation et installation

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *