This content originally appeared on DEV Community and was authored by Danilo Itagyba
Quando pensamos em acesso a banco de dados no .NET, o Entity Framework costuma ser a escolha padrão. Ele oferece recursos avançados de ORM, mas nem sempre precisamos de toda essa complexidade. Em cenários onde performance e simplicidade são prioridade, o Dapper se destaca como alternativa leve e eficiente.
O que é o Dapper?
O Dapper é uma biblioteca open source criada pela equipe do Stack Overflow. Ele é conhecido como um micro-ORM, pois não tenta abstrair completamente o banco de dados. Em vez disso, fornece um jeito simples e rápido de mapear resultados de queries SQL para objetos C#.
- 📦 Pacote:
Dapper
(disponível no NuGet) - ⚡ Performance: próximo do ADO.NET puro, mas com muito menos código
- 🎯 Ideal quando você já tem queries SQL prontas e quer apenas mapear resultados para objetos
Instalação
No seu projeto .NET, basta rodar:
dotnet add package Dapper
Primeiro Exemplo com Dapper
Suponha que temos uma tabela Products no banco:
CREATE TABLE Products (
Id INT PRIMARY KEY,
Name NVARCHAR(100),
Price DECIMAL(10,2)
)
E uma classe em C#:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
Com Dapper, podemos buscar todos os produtos assim:
using System.Data.SqlClient;
using Dapper;
string connectionString = "Server=.;Database=MyDb;Trusted_Connection=True;";
using (var connection = new SqlConnection(connectionString))
{
var products = connection.Query<Product>("SELECT * FROM Products").ToList();
foreach (var p in products)
{
Console.WriteLine($"{p.Id} - {p.Name} - {p.Price:C}");
}
}
👉 Em apenas duas linhas de código (Query + ToList()), já temos os dados do banco mapeados para objetos.
Inserindo Dados com Dapper:
var sql = "INSERT INTO Products (Name, Price) VALUES (@Name, @Price)";
var newProduct = new Product { Name = "Notebook", Price = 3500.00m };
using (var connection = new SqlConnection(connectionString))
{
connection.Execute(sql, newProduct);
}
Aqui o Dapper faz o binding automático das propriedades Name e Price do objeto para os parâmetros @name e @price da query.
Vantagens do Dapper
✔️ Simplicidade – menos código para mapear dados
✔️ Performance – quase tão rápido quanto ADO.NET puro
✔️ Flexibilidade – você escreve o SQL, o Dapper só faz o mapeamento
✔️ Integração fácil – funciona bem junto com Entity Framework, se quiser misturar
Quando usar o Dapper?
Projetos que exigem alta performance.
Sistemas que já usam queries SQL prontas.
Aplicações pequenas ou médias onde um ORM completo seria “overkill”.
Microserviços, APIs e jobs que só precisam de consultas rápidas.
Se você precisa de lazy loading, migrations ou LINQ avançado, provavelmente o Entity Framework continua sendo a melhor opção.
Conclusão
O Dapper é a escolha perfeita quando você quer controle total sobre suas queries SQL, mas não quer lidar com toda a verbosidade do ADO.NET. Ele equilibra performance, simplicidade e produtividade de uma forma difícil de ignorar.
Se o seu projeto .NET precisa de acesso a dados rápido e direto ao ponto, vale a pena experimentar o Dapper.
This content originally appeared on DEV Community and was authored by Danilo Itagyba

Danilo Itagyba | Sciencx (2025-09-03T13:03:46+00:00) Dapper no .NET: simplicidade e performance no acesso a dados. Retrieved from https://www.scien.cx/2025/09/03/dapper-no-net-simplicidade-e-performance-no-acesso-a-dados/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.