IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

C# PostgreSQL (jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 19 lipca 2026

Witamy w tym tutorialu zaprojektowanym dla początkujących zainteresowanych integracją aplikacji C# z PostgreSQL. PostgreSQL jest jednym z najczęściej używanych relacyjnych baz danych na świecie, znanym ze swojej niezawodności i zgodności z szeroką gamą środowisk programistycznych, w tym C#. Ten przewodnik przeprowadzi Cię przez podstawy łączenia aplikacji C# z bazą danych PostgreSQL, wykonywania zapytań SQL i zarządzania danymi. Użyjemy narzędzi takich jak Visual Studio, Menedżer pakietów NuGet i dostawca danych Npgsql, aby stworzyć prosty projekt komunikujący się z serwerem PostgreSQL. Nauczymy się również o bibliotece IronPDF wraz z integracją PostgreSQL.

Konfiguracja środowiska

Przed przystąpieniem do kodowania upewnij się, że masz zainstalowane Visual Studio na swoim komputerze. Visual Studio to popularne zintegrowane środowisko programistyczne (IDE), które obsługuje C# oraz inne języki programowania. Do zarządzania bazą danych zainstaluj PostgreSQL na swojej lokalnej maszynie lub skonfiguruj bazę danych PostgreSQL w środowisku chmurowym, takim jak Azure Database.

Po skonfigurowaniu Visual Studio i serwera PostgreSQL, utwórz nowy projekt C#. Możesz to zrobić, otwierając Visual Studio, przechodząc do menu Plik, wybierając Nowy, a następnie Projekt. Wybierz aplikację konsolową (Console App) (.NET Core) jako typ projektu, aby pozostać przy prostocie.

Integrating PostgreSQL with C#

Aby połączyć aplikację C# z bazą danych PostgreSQL, potrzebujesz dostawcy danych Npgsql. Npgsql działa jako pomost między aplikacjami C# a bazami danych PostgreSQL, umożliwiając Twojemu kodowi wykonywanie poleceń SQL i zarządzanie danymi.

Instalacja Npgsql

Otwórz nowo utworzony projekt w Visual Studio. Kliknij prawym przyciskiem myszy na swój projekt w Eksploratorze rozwiązań, wybierz "Zarządzaj pakietami NuGet" i wyszukaj pakiet Npgsql. Zainstaluj go, klikając przycisk instalacji obok nazwy pakietu. To działanie dodaje dostawcę danych Npgsql do Twojego projektu, umożliwiając Twojej aplikacji komunikację z PostgreSQL. Możesz go również zainstalować za pomocą konsoli menedżera pakietów.

C# PostgreSQL (Jak to działa dla programistów): Rysunek 1 - Npgsql

Konfigurowanie połączenia z bazą danych

Pierwszym krokiem w interakcji z bazą danych PostgreSQL z C# jest ustanowienie połączenia. Wymaga to ciągu połączenia, który zawiera szczegóły takie jak nazwa serwera, port, nazwa użytkownika i hasło. Oto podstawowy szablon dla ciągu połączenia PostgreSQL:

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

Zamień localhost, yourpassword i mydatabase na szczegóły swojego serwera PostgreSQL.

Definiowanie modelu Pracownika

Definiujemy model encji Employee, który będzie reprezentował nasze dane w bazie danych PostgreSQL. Ten model zawiera właściwości, które odpowiadają kolumnom w tabeli bazy danych.

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

Ten fragment kodu definiuje prostą klasę Employee z dwoma właściwościami: Id i LastName. Entity Framework Core używa konwencji do wnioskowania, że właściwość Id serial primary key powinna być traktowana jako klucz podstawowy.

Konfigurowanie DbContext aplikacji

Klasa AppDbContext rozszerza DbContext z Entity Framework Core, działając jako pomost między Twoją aplikacją C# a bazą danych PostgreSQL. Zawiera szczegóły konfiguracyjne takie jak ciąg połączenia i właściwości DbSet, które reprezentują tabele w bazie danych.

public class AppDbContext : DbContext
{
    public DbSet<Employee> Employees { get; set; } // 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");
    }
}
  • Właściwość DbSet: public DbSet<Employee> Employees { get; set; } deklaruje zestaw jednostek Employee, które są mapowane do tabeli pracowników w bazie danych PostgreSQL.

  • Metoda OnConfiguring: Ta metoda konfiguruje DbContext z niezbędnym ciągiem połączenia bazy danych. Zamień your_password i your_database na swoje rzeczywiste szczegóły serwera PostgreSQL.

  • Metoda OnModelCreating: Tutaj można użyć Fluent API do dalszej konfiguracji zachowań encji. W tym przykładzie określamy nazwę tabeli jawnie, chociaż jest to opcjonalne, jeśli nazwa tabeli pasuje do nazwy właściwości DbSet.

Główna logika programu

W metodzie Main klasy Program, zapewniamy stworzenie bazy danych, zasilamy ją początkowymi danymi, jeśli jest pusta, a następnie wykonujemy zapytanie w celu pobrania i wyświetlenia danych pracowników.

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}");
            }
        }
    }
}

Powyższy kod sprawdza, czy baza danych istnieje i tworzy ją wraz ze schematem, jeśli nie istnieje. To prosta metoda inicjalizacji nowej bazy danych podczas rozwoju. To zapytanie SQL sprawdza, czy tabela Employees jest pusta, a jeśli tak, program dodaje nowego Employee z nazwiskiem "Software" i zapisuje zmiany w bazie danych. Program wykonuje zapytanie w tabeli Employees o wpisy z nazwiskiem "Software" i drukuje ich szczegóły na konsoli.

Wynik

Oto wynik wyświetlany w konsoli po uruchomieniu programu:

C# PostgreSQL (Jak to działa dla programistów): Rysunek 2 - Wynik

I to są dane tabeli w PgAdmin:

C# PostgreSQL (Jak to działa dla programistów): Rysunek 3 - Wynik tabeli

Wprowadzenie do IronPDF

Poznaj możliwości biblioteki IronPDF, aby zrozumieć, jak ta kompleksowa biblioteka dla C# umożliwia deweloperom tworzenie, edytowanie i manipuowanie dokumentami PDF w aplikacjach .NET. To potężne narzędzie upraszcza generowanie plików PDF z HTML, URL i obrazów. Oferuje również niezbędne operacje PDF, takie jak edycja tekstu, obrazów i dodawanie funkcji zabezpieczeń, takich jak szyfrowanie i podpisy cyfrowe. IronPDF wyróżnia się łatwością użycia, pozwalając deweloperom implementować złożone funkcje PDF przy minimalnym kodzie.

IronPDF oferuje możliwość łatwej konwersji HTML do PDF, zachowując układy i style bez zmian. Ta funkcja jest idealna do generowania plików PDF z zawartości internetowej, takie jak raporty, faktury i dokumentacja. Konwertuje pliki HTML, adresy URL i ciągi znaków HTML na pliki 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");
    }
}

Integracja IronPDF z bazą danych PostgreSQL może być niezwykle przydatna w sytuacjach, gdy potrzebujesz wygenerować raporty lub dokumenty PDF na podstawie dynamicznych danych przechowywanych w Twojej bazie danych. Może to obejmować generowanie faktur, raportów, zestawień klienta i innych, bezpośrednio z danych przechowywanych w bazie danych PostgreSQL.

Instalacja IronPDF

Zanim będziesz mógł użyć IronPDF, musisz dodać go do swojego projektu. To można łatwo zrobić poprzez Menedżera pakietów NuGet:

PM > Install-Package IronPdf

Generowanie PDF z danych PostgreSQL

W tym przykładzie wygenerujmy prosty raport PDF, który wymienia pracowników z naszej bazy danych PostgreSQL. Zakładamy, że masz skonfigurowany AppDbContext i model Employee, jak opisano w poprzednich sekcjach.

Najpierw upewnij się, że masz zainstalowaną bibliotekę IronPDF w Twoim projekcie. Następnie możesz użyć następującego kodu, aby pobrać dane z bazy danych PostgreSQL i wygenerować raport 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}");
        }
    }
}

Wynik

Po uruchomieniu kodu, konsola wyświetli:

C# PostgreSQL (Jak to działa dla programistów): Rysunek 4 - Wynik konsoli

Ten PDF jest generowany:

C# PostgreSQL (Jak to działa dla programistów): Rysunek 5 - Wynik PDF

Wnioski

Właśnie zrobiłeś znaczący pierwszy krok w świat zarządzania bazami danych z C# i PostgreSQL. Postępując zgodnie z instrukcjami w tym tutorialu, nauczyłeś się, jak skonfigurować projekt w Visual Studio, zainstalować niezbędne pakiety i wykonać podstawowe operacje na bazie danych. Gdy staniesz się bardziej zaznajomiony z tymi pojęciami, odkryjesz moc i elastyczność łączenia C# z jednym z najważniejszych systemów relacyjnych baz danych. Kontynuuj eksperymenty z różnymi zapytaniami i konfiguracjami encji, aby pogłębić swoje zrozumienie jak C# współdziała z PostgreSQL.

IronPDF oferuje bezpłatny okres próbny funkcji IronPDF, który pozwala deweloperom na eksplorację jego funkcji i możliwości bez żadnej początkowej inwestycji. Ten okres próbny jest szczególnie przydatny do oceny, jak dobrze IronPDF spełnia wymagania twojego projektu dotyczące generowania, edytowania i konwertowania dokumentów PDF w aplikacjach .NET. Po okresie próbnym lub w celu produkcyjnego użycia, konieczne jest zakupienie licencji. Licencjonowanie dla IronPDF zaczyna się od $999, oferując szereg funkcji i opcji wsparcia odpowiednich dla różnych potrzeb rozwoju.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta