IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

Elegante C# (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 19 de julho de 2026

No desenvolvimento de software moderno, o acesso eficiente a bancos de dados é crucial para o desempenho e a escalabilidade das aplicações. O Dapper , um mapeador objeto-relacional (ORM) leve para .NET, oferece uma abordagem simplificada para interação com bancos de dados. Neste artigo, exploraremos como usar o Dapper C# com um arquivo de banco de dados SQLite, demonstrando sua simplicidade e eficácia por meio de exemplos de código. Além disso, apresentarei a notável biblioteca de geração de PDF chamada IronPDF , da Iron Software .

O que é Dapper?

Dapper é um framework de mapeamento objeto-relacional (ORM) para a plataforma .NET . É um mapeador de objetos simples que permite mapear um modelo de domínio orientado a objetos para um banco de dados relacional tradicional. O Dapper é conhecido por sua velocidade e desempenho, sendo frequentemente chamado de "Rei dos Micro ORMs". Ele iguala a velocidade de um leitor de dados .NET puro e aprimora a interface IDbConnection com métodos de extensão úteis para consultar bancos de dados SQL.

Principais características do Dapper

  1. Desempenho: O Dapper é conhecido por seu excelente desempenho devido ao seu design leve e mapeamento de objetos eficiente.
  2. Simplicidade: A API do Dapper é minimalista e intuitiva, facilitando o seu entendimento e utilização eficaz por parte dos desenvolvedores.
  3. Suporte a SQL puro: O Dapper permite que os desenvolvedores escrevam consultas SQL puras, proporcionando controle total sobre as interações com o banco de dados.
  4. Mapeamento de objetos: O Dapper mapeia os resultados da consulta diretamente para objetos C#, reduzindo o código repetitivo e melhorando a legibilidade do código.
  5. Consultas parametrizadas: O Dapper suporta consultas parametrizadas, protegendo contra ataques de injeção de SQL e melhorando o desempenho.
  6. Mapeamento múltiplo: O Dapper lida perfeitamente com relacionamentos um-para-muitos e muitos-para-muitos, permitindo que várias consultas sejam executadas de forma eficiente, simplificando assim a recuperação de dados complexos.

Acesso assíncrono a dados com Dapper

O Dapper oferece métodos de extensão assíncronos que espelham suas contrapartes síncronas, permitindo que os desenvolvedores executem consultas de banco de dados de forma assíncrona. Esses métodos assíncronos são ideais para operações com uso intensivo de E/S, como consultas a bancos de dados, em que o thread principal pode continuar executando outras tarefas enquanto aguarda a conclusão da operação no banco de dados.

Principais métodos assíncronos em Dapper

  1. QueryAsync: Executa uma consulta SQL assincronamente e retorna o resultado como uma sequência de objetos dinâmicos ou objetos fortemente tipados.
  2. QueryFirstOrDefaultAsync: Executa uma consulta SQL assincronamente e retorna o primeiro resultado ou um valor padrão se nenhum resultado for encontrado.
  3. ExecuteAsync: Executa um comando SQL assincronamente (por exemplo, INSERT, UPDATE, DELETE) e retorna o número de linhas afetadas.

Preparando o ambiente: Antes de analisar os exemplos de código, certifique-se de ter as ferramentas necessárias instaladas:

  1. Visual Studio ou Visual Studio Code.
  2. SDK .NET .
  3. Pacote SQLite for .NET.

Para instalar o pacote SQLite, execute o seguinte comando no diretório do seu projeto:

dotnet add package Microsoft.Data.Sqlite
SHELL

Criando um banco de dados SQLite: Para fins de demonstração, vamos criar um arquivo de banco de dados SQLite simples chamado "example.db" com uma tabela "Users" contendo colunas para "Id", "Name" e "Email".

CREATE TABLE Users (
    Id INTEGER PRIMARY KEY,
    Name TEXT,
    Email TEXT
);
Text

Utilizando Dapper com SQLite

  1. Primeiro, certifique-se de ter importado os namespaces necessários:
using Microsoft.Data.Sqlite;
using Dapper;
  1. Estabeleça uma conexão com o banco de dados SQLite:

    string connectionString = "Data Source=example.db"; // SQLite database connection string
    using (var connection = new SqliteConnection(connectionString))
    {
        connection.Open();
        // Your Dapper queries will go here
    }
  2. Execute uma consulta com o Dapper:

    // Define a class to represent the structure of a user
    public class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Email { get; set; }
    }
    
    // Query to select all users
    string query = "SELECT * FROM Users"; // SQL query
    var users = connection.Query<User>(query).ToList();
    
    // Display the results
    foreach (var user in users)
    {
        Console.WriteLine($"Id: {user.Id}, Name: {user.Name}, Email: {user.Email}");
    }
  3. Insira dados no banco de dados usando o Dapper:

    // Define a new user 
    var newUser = new User { Name = "John Doe", Email = "john@example.com" };
    
    // SQL query/stored procedure to insert a new user
    string insertQuery = "INSERT INTO Users (Name, Email) VALUES (@Name, @Email)";
    
    // Execute the query
    connection.Execute(insertQuery, newUser);

Apresentando o IronPDF

IronPDF é uma biblioteca C# da Iron Software que permite aos desenvolvedores criar, editar e manipular documentos PDF programaticamente em aplicações .NET . Oferece funcionalidades como gerar documentos PDF a partir de HTML, imagens e outros formatos, além de adicionar texto, imagens e diversos elementos a arquivos PDF existentes. O IronPDF visa simplificar as tarefas de geração e manipulação de PDFs para desenvolvedores .NET , fornecendo um conjunto abrangente de ferramentas e APIs.

O IronPDF oferece uma gama de recursos para geração e manipulação de PDFs em aplicações .NET :

  1. Conversão de HTML para PDF: Converta conteúdo HTML, incluindo estilos CSS, em documentos PDF.
  2. Conversão de imagem para PDF: Converta imagens (como JPEG, PNG, BMP) em documentos PDF.
  3. Conversão de texto para PDF: Converta texto simples ou texto formatado (RTF) em documentos PDF.
  4. Geração de PDF: Crie documentos PDF do zero programaticamente.
  5. Edição de PDF: Edite documentos PDF existentes adicionando ou modificando texto, imagens e outros elementos.
  6. Fusão e divisão de PDFs: Combine vários documentos PDF em um único documento ou divida um documento PDF em vários arquivos.
  7. Segurança de PDF: Aplique proteção por senha e criptografia a documentos PDF para restringir o acesso e proteger informações confidenciais.
  8. Preenchimento de formulários em PDF: Preencha formulários em PDF com dados de forma programática.
  9. Impressão de PDF: Imprima documentos PDF diretamente do seu aplicativo .NET .
  10. Configurações de conversão para PDF: Personalize diversas configurações, como tamanho da página, orientação, margens, compressão e muito mais durante a geração do PDF.
  11. Extração de texto de PDF: Extrai o conteúdo de texto de documentos PDF para posterior processamento ou análise.
  12. Metadados de PDF: Defina os metadados (autor, título, assunto, palavras-chave) para documentos PDF.

Gerando documentos PDF com IronPDF e Dapper

Crie um aplicativo de console no Visual Studio.

Dapper C# (Como Funciona Para Desenvolvedores): Figura 1 - Criando uma aplicação console no Visual Studio

Forneça o nome e a localização do projeto.

Dapper C# (Como Funciona Para Desenvolvedores): Figura 2 - Nomeando o projeto

Selecione a versão do .NET

Dapper C# (Como Funciona Para Desenvolvedores): Figura 3 - Selecione a versão .NET desejada

Instale os seguintes pacotes usando o Gerenciador de Pacotes do Visual Studio ou o console.

dotnet add package Microsoft.Data.Sqlite
SHELL

Dapper C# (Como Funciona Para Desenvolvedores): Figura 4 - Instalando Microsoft Data Sqlite do Gerenciador de Pacotes do Visual Studio

dotnet add package Dapper --version 2.1.35
SHELL

Dapper C# (Como Funciona Para Desenvolvedores): Figura 5 - Instalando Dapper do Gerenciador de Pacotes do Visual Studio

dotnet add package IronPdf --version 2024.4.2

Dapper C# (Como Funciona Para Desenvolvedores): Figura 6 - Instalando IronPDF do Gerenciador de Pacotes do Visual Studio

Utilize o código abaixo para gerar um documento PDF:

using Dapper; // Import Dapper for ORM functionalities
using IronPdf; // Import IronPDF for PDF generation
using Microsoft.Data.Sqlite; // Import Sqlite for database connection

// Define the connection string for SQLite database
string connectionString = "Data Source=ironPdf.db";

// Create a string to hold the content for the PDF document
var content = "<h1>Demonstrate IronPDF with Dapper</h1>";

// Add HTML content
content += "<h2>Create a new database using Microsoft.Data.Sqlite</h2>";
content += "<p>new SqliteConnection(connectionString) and connection.Open()</p>";

// Open the database connection
using (var connection = new SqliteConnection(connectionString))
{
    connection.Open();
    
    // Create a Users Table using Dapper
    content += "<h2>Create a Users Table using Dapper and SQL insert query</h2>";
    content += "<p>CREATE TABLE IF NOT EXISTS Users</p>";
    
    // SQL statement to create a Users table
    string sql = "CREATE TABLE IF NOT EXISTS Users (\n    Id INTEGER PRIMARY KEY,\n    Name TEXT,\n    Email TEXT\n);";
    connection.Execute(sql);
    
    // Add Users to table using Dapper
    content += "<h2>Add Users to table using Dapper</h2>";
    content += AddUser(connection, new User { Name = "John Doe", Email = "john@example.com" });
    content += AddUser(connection, new User { Name = "Smith William", Email = "Smith@example.com" });
    content += AddUser(connection, new User { Name = "Rock Bill", Email = "Rock@example.com" });
    content += AddUser(connection, new User { Name = "Jack Sparrow", Email = "Jack@example.com" });
    content += AddUser(connection, new User { Name = "Tomus Tibe", Email = "Tomus@example.com" });
    
    // Retrieve and display users from database
    content += "<h2>Get Users From table using Dapper</h2>";
    string query = "SELECT * FROM Users";
    var users = connection.Query<User>(query).ToList();
    
    // Display each user detail retrieved from the database
    foreach (var user in users)
    {
        content += $"<p>Id:{user.Id}, Name:{user.Name}, email: {user.Email}</p>";
        Console.WriteLine($"{user.Id}. User Name:{user.Name}, Email:{user.Email}");
    }
    
    // Create PDF from the accumulated HTML content
    var renderer = new ChromePdfRenderer();
    var pdf = renderer.RenderHtmlAsPdf(content);
    
    // Save the PDF to a file
    pdf.SaveAs("dapper.pdf");
}

// Method to add user to the database and accumulate HTML content
string AddUser(SqliteConnection sqliteConnection, User user)
{
    string insertQuery = "INSERT INTO Users (Name, Email) VALUES (@Name, @Email)";
    sqliteConnection.Execute(insertQuery, user);
    return $"<p>Name:{user.Name}, email: {user.Email}</p>"; 
}

Explicação do código

  1. Comece criando um contêiner de conteúdo de texto para geração de PDF.
  2. Crie um novo banco de dados usando Microsoft.Data.Sqlite, connection.Open() criará um banco de dados vazio.
  3. Crie uma Tabela Users usando Dapper e execute consultas SQL para inserção.
  4. Adicione usuários à tabela usando Dapper com consultas de inserção.
  5. Consulta para selecionar todos os usuários do banco de dados.
  6. Salve o conteúdo gerado como PDF usando os métodos ChromePdfRenderer e SaveAs fornecidos pelo IronPDF.

Saída

Dapper C# (Como Funciona Para Desenvolvedores): Figura 7 - Exemplo de saída em PDF utilizando todos os pacotes instalados acima

Licença (Versão de avaliação disponível para IronPDF)

As informações de licenciamento do IronPDF estão disponíveis para garantir a conformidade e o uso correto dentro do seu projeto.

Uma licença de avaliação para desenvolvedores pode ser obtida através da página de licença de avaliação do IronPDF .

Por favor, substitua a Chave no arquivo appSettings.json mostrado abaixo:

{
  "IronPdf.License.LicenseKey" : "The Key Goes Here"
}
JSON

Conclusão

O Dapper simplifica o acesso a dados em aplicações .NET e, quando combinado com o SQLite, oferece uma solução leve e eficiente para o gerenciamento de bancos de dados. Seguindo os passos descritos neste artigo, você poderá usar o Dapper para interagir com bancos de dados SQLite de forma integrada, permitindo criar aplicações robustas e escaláveis ​​com facilidade. Juntamente com o IronPDF, os desenvolvedores podem adquirir habilidades relacionadas a bancos de dados ORM, como o Dapper, e bibliotecas de geração de PDF, como o IronPDF.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.