DEV Community

Juarez Júnior for Develop4Us

Posted on • Edited 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

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay