IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

C# PostgreSQL (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 19 de julho de 2026

Bem-vindo a este tutorial desenvolvido para iniciantes interessados ​​em integrar aplicações C# com PostgreSQL . O PostgreSQL está entre os bancos de dados relacionais mais utilizados no mundo, conhecido por sua confiabilidade e compatibilidade com uma vasta gama de ambientes de programação, incluindo C#. Este guia irá orientá-lo nos conceitos básicos de como conectar um aplicativo C# a um banco de dados PostgreSQL, executar consultas SQL e manipular dados. Usaremos ferramentas como o Visual Studio, o Gerenciador de Pacotes NuGet e o provedor de dados Npgsql para criar um projeto simples que se comunica com um servidor PostgreSQL. Também aprenderemos sobre a biblioteca IronPDF com a integração do PostgreSQL.

Preparando seu ambiente

Antes de começar a programar, certifique-se de ter o Visual Studio instalado em seu computador. O Visual Studio é um ambiente de desenvolvimento integrado (IDE) popular que oferece suporte a C#, entre outras linguagens de programação. Para gerenciamento de banco de dados, instale o PostgreSQL em sua máquina local ou configure um banco de dados PostgreSQL em um ambiente de nuvem, como o Banco de Dados do Azure.

Após configurar o Visual Studio e o servidor PostgreSQL, crie um novo projeto em C#. Você pode fazer isso abrindo o Visual Studio, indo ao menu Arquivo, selecionando Novo e, em seguida, Projeto. Para simplificar, escolha um Aplicativo de Console (.NET Core) como tipo de projeto.

Integrating PostgreSQL with C#

Para conectar seu aplicativo C# a um banco de dados PostgreSQL, você precisa do provedor de dados Npgsql. O Npgsql atua como uma ponte entre aplicativos C# e bancos de dados PostgreSQL, permitindo que seu código execute comandos SQL e gerencie dados.

Instalando o Npgsql

Abra o projeto recém-criado no Visual Studio. No Explorador de Soluções, clique com o botão direito do mouse no seu projeto, selecione "Gerenciar Pacotes NuGet " e procure pelo pacote Npgsql. Instale-o clicando no botão "Instalar" ao lado do nome do pacote. Esta ação adiciona o provedor de dados Npgsql ao seu projeto, permitindo que seu aplicativo se comunique com o PostgreSQL. Você também pode instalá-lo usando o console do gerenciador de pacotes.

C# PostgreSQL (Como Funciona Para Desenvolvedores): Figura 1 - Npgsql

Configurando a conexão com o banco de dados

O primeiro passo para interagir com um banco de dados PostgreSQL a partir do C# é estabelecer uma conexão. Isso requer uma string de conexão, que inclui detalhes como o nome do servidor, a porta, o nome de usuário e a senha. Aqui está um modelo básico para uma string de conexão PostgreSQL:

string connectionString = "Host=localhost; Port=5432; Username=postgres; Password=yourpassword; Database=mydatabase";

Substitua localhost , suasenha e meubanco de dados pelos detalhes do seu servidor PostgreSQL.

Definindo o Modelo de Empregado

Definimos um modelo de entidade "Funcionário" que representará nossos dados no banco de dados PostgreSQL. Este modelo inclui propriedades que correspondem às colunas da tabela do banco de dados.

public class Employee
{
    public int Id { get; definir; } // Automatically becomes the primary key
    public string LastName { get; definir; }
}

Este trecho de código define uma classe Employee simples com duas propriedades: Id e LastName . O Entity Framework Core usa convenções para inferir que a propriedade de chave primária serial Id deve ser tratada como a chave primária.

Configurando o DbContext do aplicativo

A classe AppDbContext estende a classe DbContext do Entity Framework Core, atuando como uma ponte entre sua aplicação C# e o banco de dados PostgreSQL. Inclui detalhes de configuração, como a string de conexão e as propriedades DbSet que representam as tabelas no banco de dados.

public class AppDbContext : DbContext
{
    public DbSet<Employee> Employees { get; definir; } // Represents the Employees table
    
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        string connectionString = "Host=localhost; Port=5432; Username=postgres; Password=your_password; Database=your_database";
        optionsBuilder.UseNpgsql(connectionString);
    }
    
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Employee>().ToTable("Employees");
    }
}
C#
  • Propriedade DbSet:** public DbSet<Employee> Funcionários { obter; definir; } declara um conjunto de Funcionários** Entidades que são mapeadas para a tabela de funcionários no banco de dados PostgreSQL.

  • Método OnConfiguring: Este método configura o DbContext com a string de conexão de banco de dados necessária. Substitua your_password e your_database pelos dados reais do seu servidor PostgreSQL.

  • Método OnModelCreating: Aqui, você pode usar a API Fluent para configurar ainda mais os comportamentos da entidade. Neste exemplo, especificamos o nome da tabela explicitamente, embora seja opcional se o nome da tabela corresponder ao nome da propriedade DbSet .

Lógica principal do programa

No método Main da classe Program , garantimos que o banco de dados seja criado, o preenchemos com dados iniciais, caso esteja vazio, e então executamos uma consulta para recuperar e exibir os dados dos funcionários.

class Program
{
    static void Main(string[] args)
    {
        using (var context = new AppDbContext())
        {
            context.Database.EnsureCreated();  // Ensure the database and schema are created
            if (!context.Employees.Any())  // Check if the Employees table is empty
            {
                context.Employees.Add(new Employee { LastName = "Software" });
                context.SaveChanges();  // Save changes to the database
            }
            var employees = context.Employees.Where(e => e.LastName == "Software").ToList();
            foreach (var employee in employees)
            {
                Console.WriteLine($"Employee ID: {employee.Id}, Last Name: {employee.LastName}");
            }
        }
    }
}

O código acima verifica se o banco de dados existe e o cria juntamente com o esquema, caso não exista. É uma maneira simples de inicializar um novo banco de dados durante o desenvolvimento. Esta declaração SQL verifica se a tabela Funcionários está vazia, o programa adiciona um novo Funcionário com o sobrenome "Software" e salva as alterações no banco de dados. O programa consulta a tabela de Funcionários em busca de entradas com o sobrenome "Software" e imprime seus detalhes no console.

Saída

Aqui está a saída do console ao executar o programa:

C# PostgreSQL (Como Funciona Para Desenvolvedores): Figura 2 - Saída

E são os dados da tabela no PgAdmin:

C# PostgreSQL (Como Funciona Para Desenvolvedores): Figura 3 - Saída da Tabela

Introdução ao IronPDF

Explore os recursos da biblioteca IronPDF para entender como essa biblioteca abrangente para C# permite que os desenvolvedores criem, editem e manipulem documentos PDF em aplicativos .NET . Essa poderosa ferramenta simplifica a geração de PDFs a partir de HTML , URLs e imagens. Ele também oferece operações essenciais em PDF, como edição de texto e imagens, além de adicionar recursos de segurança como criptografia e assinaturas digitais. O IronPDF se destaca pela sua facilidade de uso, permitindo que os desenvolvedores implementem funcionalidades complexas de PDF com o mínimo de código.

O IronPDF oferece a capacidade de converter HTML em PDF sem esforço , mantendo os layouts e estilos inalterados. Essa funcionalidade é perfeita para gerar PDFs a partir de conteúdo da web, como relatórios, faturas e documentação. Ele converte arquivos HTML, URLs e strings HTML em arquivos PDF.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
        
        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
       
        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

A integração do IronPDF com um banco de dados PostgreSQL pode ser extremamente útil em cenários onde você precisa gerar relatórios ou documentos em PDF com base em dados dinâmicos armazenados no seu banco de dados. Isso pode incluir desde a geração de faturas, relatórios, extratos de clientes e muito mais, diretamente a partir dos dados armazenados em um banco de dados PostgreSQL.

Instalando o IronPDF

Antes de poder usar o IronPDF, você precisa adicioná-lo ao seu projeto. Isso pode ser feito facilmente através do Gerenciador de Pacotes NuGet :

PM > Install-Package IronPdf

Gerando um PDF a partir de dados do PostgreSQL

Neste exemplo, vamos gerar um relatório PDF simples que lista os funcionários do nosso banco de dados PostgreSQL. Vamos assumir que você configurou o AppDbContext e o modelo Employee conforme descrito nas seções anteriores.

Primeiro, certifique-se de que a biblioteca IronPDF esteja instalada em seu projeto. Em seguida, você pode usar o seguinte código para buscar dados do banco de dados PostgreSQL e gerar um relatório em PDF:

class Program
{
    static void Main(string[] args)
    {
        IronPdf.License.LicenseKey = "Key";
        // Initialize the database context
        using (var context = new AppDbContext())
        {
            // Fetch employees from the database
            var employees = context.Employees.ToList();
            // Generate HTML content for the PDF
            var htmlContent = "<h1>Employee Report</h1>";
            htmlContent += "<table><tr><th>ID</th><th>Last Name</th></tr>";
            foreach (var employee in employees)
            {
                htmlContent += $"<tr><td>{employee.Id}</td><td>{employee.LastName}</td></tr>";
            }
            htmlContent += "</table>";
            // Instantiate the IronPDF HtmlToPdf converter
            var renderer = new ChromePdfRenderer();
            // Generate the PDF document from the HTML content
            var pdf = renderer.RenderHtmlAsPdf(htmlContent);
            // Save the generated PDF to a file
            var outputPath = "f:\\EmployeeReport.pdf";
            pdf.SaveAs(outputPath);
            Console.WriteLine($"PDF report generated: {outputPath}");
        }
    }
}

Saída

Ao executar o código, a seguinte saída será exibida no console:

C# PostgreSQL (Como Funciona Para Desenvolvedores): Figura 4 - Saída do Console

Este PDF foi gerado:

C# PostgreSQL (Como Funciona Para Desenvolvedores): Figura 5 - Saída PDF

Conclusão

Você acaba de dar um primeiro passo significativo no mundo do gerenciamento de bancos de dados com C# e PostgreSQL. Seguindo as instruções deste tutorial, você aprendeu como configurar um projeto no Visual Studio, instalar os pacotes necessários e executar operações básicas de banco de dados. À medida que você se familiariza com esses conceitos, descobrirá o poder e a flexibilidade de combinar C# com um dos sistemas de banco de dados relacionais mais importantes. Continue experimentando com diferentes consultas e configurações de entidades para aprofundar sua compreensão de como o C# interage com o PostgreSQL.

O IronPDF oferece um período de teste gratuito de IronPDF recursos , permitindo que os desenvolvedores explorem suas funcionalidades e capacidades sem qualquer investimento inicial. Esta versão de avaliação é particularmente útil para avaliar o quão bem o IronPDF atende aos requisitos do seu projeto para gerar, editar e converter documentos PDF em aplicativos .NET . Após o período de teste ou para uso em produção, é necessário obter uma licença. A licença para IronPDF começa em $999, oferecendo uma variedade de recursos e opções de suporte adequados para diferentes necessidades de desenvolvimento.

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.