DEV Community

Juarez Júnior
Juarez Júnior

Posted on

Consultas Rápidas e Eficientes com Dapper

O Dapper é um micro ORM que permite a execução de consultas SQL diretamente no banco de dados de forma rápida e eficiente. Ele oferece um mapeamento leve de objetos para resultados de consultas, sendo uma ótima escolha quando você precisa de mais controle sobre as consultas SQL ou quer otimizar o desempenho. Neste exemplo, veremos como realizar uma consulta simples e mapear os resultados para um objeto C# usando o Dapper.

Bibliotecas:

Para usar a biblioteca Dapper, instale o pacote NuGet no seu projeto:

Install-Package Dapper
Install-Package Microsoft.Data.Sqlite
Enter fullscreen mode Exit fullscreen mode

Código de Exemplo:

using Dapper;
using Microsoft.Data.Sqlite;
using System;
using System.Collections.Generic;

namespace DapperExemplo
{
    public class Produto
    {
        public int Id { get; set; }
        public string Nome { get; set; }
        public decimal Preco { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            using (var conexao = new SqliteConnection("Data Source=produtos.db"))
            {
                conexao.Open();

                // Criando a tabela
                conexao.Execute("CREATE TABLE IF NOT EXISTS Produtos (Id INTEGER PRIMARY KEY, Nome TEXT, Preco REAL)");

                // Inserindo um produto
                conexao.Execute("INSERT INTO Produtos (Nome, Preco) VALUES (@Nome, @Preco)", new { Nome = "Laptop", Preco = 1500.99m });

                // Buscando os produtos
                IEnumerable<Produto> produtos = conexao.Query<Produto>("SELECT Id, Nome, Preco FROM Produtos");

                // Exibindo os produtos
                foreach (var produto in produtos)
                {
                    Console.WriteLine($"Id: {produto.Id}, Nome: {produto.Nome}, Preco: {produto.Preco}");
                }
            }
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação do Código:

Neste exemplo, usamos o Dapper para executar consultas SQL em um banco de dados SQLite. Primeiro, abrimos uma conexão e criamos a tabela Produtos caso ela ainda não exista. Em seguida, inserimos um novo produto na tabela usando o método Execute. Depois, buscamos todos os produtos na tabela com o método Query, que mapeia os resultados para objetos da classe Produto. Por fim, exibimos os produtos no console.

Conclusão:

O Dapper é uma excelente ferramenta para quem busca um micro ORM que ofereça mais controle sobre as consultas SQL, sem comprometer o desempenho. Ele é fácil de usar, flexível e permite um mapeamento rápido de dados para objetos.

Código fonte: GitHub

Top comments (0)