Introducción e instalación

1. ¿Qué es Dapper

Dapper es un Micro ORM para .NET, conocido como el rey de los Micro ORM, con un rendimiento muy cercano al ADO.NET nativo.

ORM: Mapeador Objeto‑Relacional. Realiza el mapeo automático entre tablas de base de datos y entidades C#.

Características principales:

  1. No encapsula SQL, el desarrollador escribe las sentencias SQL;
  2. Extiende IDbConnection mediante métodos de extensión (utilizable directamente en cualquier objeto de conexión);
  3. Ligero y con un rendimiento muy elevado.

Nota estricta: se trata de un Micro ORM, distinto de frameworks ORM completos como EF Core. La comunidad debate si se considera un ORM puro.

Protección contra inyección SQL: usa consultas parametrizadas para evitar inyecciones. Concatenar cadenas SQL sigue siendo arriesgado.

Tres pasos de ejecución: crear la conexión de base de datos → escribir la sentencia SQL → invocar el método de extensión de Dapper para ejecutar SQL con sus parámetros.

Características

  • Alto rendimiento, consultas rápidas
  • Admite mapeo a entidades estáticas y objetos dinámicos
  • Control total sobre las sentencias SQL
  • Soporte para consultas con múltiples conjuntos de resultados
  • Soporte nativo de procedimientos almacenados
  • Basado en la interfaz IDbConnection, compatible con todos los controladores de bases de datos
  • Inserción masiva (función extendida; inserción simple nativa, para grandes volúmenes recomienda Dapper.Plus)

Instalación

Método 1: Consola del Administrador de paquetes NuGet (PMC)
Install-Package Dapper
Método 2: .NET CLI (recomendado para .NET Core/.NET5+)
dotnet add package Dapper
Método 3: Interfaz gráfica de Visual Studio

Explorador de soluciones → clic derecho sobre el proyecto → Administrar paquetes NuGet, buscar Dapper e instalar.

Aviso importante: Dapper no incluye controladores de base de datos
Para SQL Server instala Microsoft.Data.SqlClient; para MySQL usa MySqlConnector.

Ejemplo

using Dapper;
using Microsoft.Data.SqlClient;

// 1. Crear IDbConnection
string connStr = "tu cadena de conexión";
using var conn = new SqlConnection(connStr);

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

// 3. Ejecutar consulta y mapear automáticamente la entidad
var article = conn.QueryFirstOrDefault<Article>(sql, new { Id = 1 });

public class Article
{
    public int Id { get; set; }
    public string Title { get; set; }
}Lenguaje del código: JavaScript (javascript)

Comparación

FrameworkTipoControl SQLCasos de uso
DapperMicro ORMSQL escrito manualmenteRequisitos de alto rendimiento, consultas complejas, modernización de proyectos antiguos
EF CoreFull ORMSQL generado automáticamente, admite SQL nativoDesarrollo rápido, lógica de negocio simple, evitar escribir SQL manual

Introducción e instalación

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *