IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

C# PostgreSQL (Geliştiriciler için Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 19 Temmuz 2026

C# uygulamalarını PostgreSQL ile entegre etmekle ilgilenen acemiler için tasarlanmış bu öğreticiye hoş geldiniz. PostgreSQL, dünya genelinde en çok kullanılan ilişkisel veritabanlarından biridir ve güvenilirliği ile C# dahil geniş bir programlama ortamı ile uyumluluğu ile bilinir. Bu kılavuz, bir C# uygulamasını bir PostgreSQL veritabanına bağlama, SQL deyim sorgularını çalıştırma ve veri yönetiminin temel noktalarında size yol gösterecek. Visual Studio, NuGet Paket Yöneticisi ve Npgsql veri sağlayıcısı gibi araçları kullanarak, bir PostgreSQL sunucusuyla iletişim kuran basit bir proje oluşturacağız. PostgreSQL entegrasyonu ile IronPDF kütüphanesini de öğreneceğiz.

Çevrenizi Kurma

Kodlamaya dalmadan önce, bilgisayarınıza Visual Studio'nun kurulu olduğundan emin olun. Visual Studio, C# dahil olmak üzere diğer programlama dillerini destekleyen popüler bir entegre geliştirme ortamıdır (IDE). Veritabanı yönetimi için, yerel makinenize PostgreSQL yükleyin veya Azure Veri Tabanı gibi bir bulut ortamında bir PostgreSQL veritabanı kurun.

Visual Studio ve PostgreSQL sunucunu kurduktan sonra yeni bir C# projesi oluştur. Bunu Visual Studio'yu açarak, Dosya menüsüne giderek, Yeni ve ardından Proje'yi seçerek yapabilirsiniz. İşleri basit tutmak için projeniz için bir Konsol Uygulaması (.NET Core) seçin.

Integrating PostgreSQL with C#

C# uygulamanızı bir PostgreSQL veritabanına bağlamak için Npgsql veri sağlayıcısına ihtiyacınız var. Npgsql, kodunuzun SQL komutları yürütmesine ve verileri yönetmesine olanak tanıyan C# uygulamaları ve PostgreSQL veritabanları arasında bir köprü olarak hareket eder.

Npgsql Kurulumu

Yeni oluşturduğunuz projeyi Visual Studio'da açın. Solution Explorer'da projenize sağ tıklayın, 'NuGet Paketlerini Yönet'i seçin ve Npgsql paketini arayın. Paket isminin yanındaki yükle düğmesine tıklayarak yükleyin. Bu işlem Npgsql veri sağlayıcısını projenize ekler, böylece uygulamanız PostgreSQL ile iletişim kurabilir. Bunu paket yöneticisi konsolu kullanarak da yükleyebilirsiniz.

C# PostgreSQL (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - Npgsql

Veritabanı Bağlantısını Yapılandırma

C#'dan bir PostgreSQL veritabanıyla etkileşime girmenin ilk adımı bir bağlantı kurmaktır. Bu, sunucu adı, port, kullanıcı adı ve şifre gibi bilgileri içeren bir bağlantı dizesi gerektirir. İşte temel bir PostgreSQL bağlantı dizesi şablonu:

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

localhost, yourpassword ve mydatabase'i PostgreSQL sunucunuzun bilgileriyle değiştirin.

Çalışan Modelini Tanımlama

Employee varlık modelini PostgreSQL veritabanındaki verilerimizi temsil edecek şekilde tanımlarız. Bu model, veritabanı tablosundaki sütunlara karşılık gelen özellikleri içerir.

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

Bu kod parçacığı, Id ve LastName adlı iki özelliğe sahip basit bir Employee sınıfını tanımlar. Entity Framework Core, Id sıralı birincil anahtar özelliğinin birincil anahtar olarak ele alınması gerektiğini çıkarım yapmak için kuralları kullanır.

Uygulamanın DbContext'ini Yapılandırma

AppDbContext sınıfı Entity Framework Core'dan DbContexti genişletir, C# uygulamanız ile PostgreSQL veritabanı arasında köprü görevi görür. Bu, bağlantı dizesi gibi yapılandırma ayrıntılarını ve veritabanındaki tabloları temsil eden DbSet özelliklerini içerir.

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");
    }
}
  • DbSet Özelliği: **public DbSet<Employee> Employees { get; set; } **** PostgreSQL veritabanında personel tablosuyla eşlenmiş **Employee varlıklarından oluşan bir küme ilan eder.

  • OnConfiguring Metodu: Bu metod, gerekli veritabanı bağlantı dizesi ile DbContexti yapılandırır. your_password ve your_database'i gerçek PostgreSQL sunucu bilgilerinizle değiştirin.

  • OnModelCreating Metodu: Burada, varlık davranışlarını daha fazla yapılandırmak için Fluent API'yi kullanabilirsiniz. Bu örnekte, tablo adını açıkça belirtiriz, ancak tablonun adı DbSet özelliği adıyla eşleşirse isteğe bağlıdır.

Ana Program Mantığı

Program sınıfının Main metodunda, veritabanının oluşturulduğundan emin olur, boşsa başlangıç verileriyle doldurur ve ardından çalışan verilerini almak ve görüntülemek için bir sorgu çalıştırırız.

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

Yukarıdaki kod, veritabanının var olup olmadığını kontrol eder ve yoksa şemayla birlikte oluşturur. Geliştirme sırasında yeni bir veritabanı başlatmanın basit bir yoludur. Bu SQL ifadesi, Çalışanlar tablosunun boş olup olmadığını kontrol eder, program soyadı 'Yazılım' olan yeni bir Çalışan ekler ve değişiklikleri veritabanına kaydeder. Program, 'Software' soyadına sahip olan çalışanların girişlerini Employees tablosuna sorgular ve ayrıntılarını konsola yazdırır.

Çıktı

Programı çalıştırdığınızda konsoldaki çıktı:

C# PostgreSQL (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - Çıktı

Ve bu, PgAdmin'deki tablo verisidir:

C# PostgreSQL (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - Tablo Çıktısı

IronPDF'ye Giriş

IronPDF Kütüphanesinin Kapasitelerini Keşfedin ve bu kapsamlı C# kütüphanesinin geliştiricilerin .NET uygulamaları içinde PDF belgeleri oluşturmasını, düzenlemesini ve manipüle etmesini nasıl sağladığını anlayın. Bu güçlü araç, HTML'den, URL'lerden ve resimlerden PDF oluşturmayı basitleştirir. Ayrıca metin ve resim düzenleme ve şifreleme ve dijital imzalar gibi güvenlik özellikleri ekleme gibi temel PDF işlemlerini sağlar. IronPDF, kullanımı kolay olmasıyla öne çıkar, geliştiricilerin, en az kod kullanarak karmaşık PDF işlevselliklerini uygulamalarını sağlar.

IronPDF, HTML'nin kolayca PDF'e dönüştürülmesini sağlayarak yerleşim ve stilleri değiştirmeden tutar. Bu özellik, raporlar, faturalar ve belgeler gibi web tabanlı içeriklerden PDF oluşturmak için mükemmeldir. HTML dosyalarını, URL'leri ve HTML dizgilerini PDF dosyalarına dönüştürür.

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

IronPDF'i bir PostgreSQL veritabanı ile entegre etmek, veritabanınızda depolanan dinamik verilere dayalı olarak PDF raporları veya belgeleri oluşturmanız gereken senaryolarda inanılmaz derecede faydalı olabilir. Bu, bir PostgreSQL veritabanında kalıcı hale getirilen verilerden doğrudan fatura, rapor, müşteri bildirimi ve daha fazlasını oluşturmaktan kaynaklanabilir.

Installing IronPDF

IronPDF'i kullanmadan önce, onu projenize eklemeniz gerekir. Bunu NuGet Paket Yöneticisi aracılığıyla kolayca yapabilirsiniz:

PM > Install-Package IronPdf

PostgreSQL Verilerinden PDF Oluşturma

Bu örnekte, PostgreSQL veritabanımızdan çalışanları listeleyen basit bir PDF raporu oluşturalım. Önceki bölümlerde açıklandığı gibi AppDbContext ve Employee modelinin kurulu olduğunu varsayacağız.

Öncelikle projenizde IronPDF kütüphanesinin kurulu olduğundan emin olun. Sonra, PostgreSQL veritabanından veri çekmek ve bir PDF raporu oluşturmak için aşağıdaki kodu kullanabilirsiniz:

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

Çıktı

Kodu çalıştırdığınızda, bu konsol çıktısı gösterilecektir:

C# PostgreSQL (Geliştiriciler İçin Nasıl Çalışır): Şekil 4 - Konsol Çıktısı

Bu PDF oluşturuldu:

C# PostgreSQL (Geliştiriciler İçin Nasıl Çalışır): Şekil 5 - PDF Çıktısı

Sonuç

C# ve PostgreSQL ile veri tabanı yönetimi dünyasına önemli bir ilk adım attınız. Bu öğreticideki talimatları takip ederek, Visual Studio'da bir proje kurmayı, gerekli paketleri yüklemeyi ve temel veri tabanı işlemlerini gerçekleştirmeyi öğrendiniz. Bu kavramlarla daha aşina oldukça, C# ile en önemli ilişkisel veri tabanı sistemlerinden birini birleştirmenin gücünü ve esnekliğini keşfedeceksiniz. C#'ın PostgreSQL ile nasıl etkileşimde bulunduğunu daha iyi anlamak için farklı sorgular ve varlık yapılandırmaları ile denemeler yapmaya devam edin.

IronPDF, geliştiricilerin özelliklerini ve yeteneklerini başlangıçta herhangi bir yatırım yapmadan keşfetmelerine olanak tanıyan IronPDF özelliklerinin ücretsiz bir denemesi sunar. Bu deneme, özellikle .NET uygulamalarında PDF belgelerini oluşturma, düzenleme ve dönüştürmeye yönelik projelerinizin gerekliliklerini IronPDF'in ne kadar iyi karşıladığını değerlendirmek için faydalıdır. Deneme süresinden sonra veya üretim kullanımı için bir lisans edinmek gereklidir. IronPDF için lisanslama $999 başlar, ve farklı geliştirme ihtiyaçlarına uygun çeşitli özellikler ve destek seçenekleri sunar.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez