IRONSOFTWAREHOME
開発者向けアップデート

C# PostgreSQL(開発者向けの動作方法)

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年7月19日

初心者のためにデザインされたこのチュートリアルへようこそ。PostgreSQLとのC#アプリケーション統合に興味のある方に最適です。 PostgreSQLは世界中で最も使用されているリレーショナルデータベースの1つであり、その信頼性とC#を含む多様なプログラミング環境との互換性で知られています。 このガイドでは、C#アプリケーションをPostgreSQLデータベースに接続し、SQL文のクエリを実行し、データを処理する基本について説明します。 Visual Studio、NuGetパッケージマネージャー、Npgsqlデータプロバイダーなどのツールを使用して、PostgreSQLサーバーと通信するシンプルなプロジェクトを作成します。 また、PostgreSQLの統合を行うIronPDFライブラリについても学びます。

環境のセットアップ

コーディングを始める前に、コンピュータにVisual Studioがインストールされていることを確認してください。 Visual Studioは、多くのプログラミング言語をサポートする人気の統合開発環境(IDE)で、C#をサポートしています。 データベース管理のために、ローカルマシンにPostgreSQLをインストールするか、Azure Databaseのようなクラウド環境にPostgreSQLデータベースをセットアップします。

Visual StudioとPostgreSQLサーバーを設定した後、新しいC#プロジェクトを作成してください。 Visual Studioを開き、ファイルメニューに移動し、新規作成を選択した後、プロジェクトを選びます。 プロジェクトタイプには、簡単にするためにConsole App (.NET Core) を選びます。

Integrating PostgreSQL with C#

C#アプリケーションをPostgreSQLデータベースに接続するには、Npgsqlデータプロバイダーが必要です。 Npgsqlは、C#アプリケーションとPostgreSQLデータベースの間の橋渡しの役割を果たし、コードがSQLコマンドを実行し、データを管理できるようにします。

Npgsqlのインストール

新しく作成したプロジェクトをVisual Studioで開きます。 ソリューションエクスプローラーでプロジェクトを右クリックして"NuGetパッケージの管理"を選び、Npgsqlパッケージを検索します。 パッケージ名の隣にあるインストールボタンをクリックしてインストールします。 このアクションにより、Npgsqlデータプロバイダーがプロジェクトに追加され、アプリケーションがPostgreSQLと通信できるようになります。 パッケージマネージャーコンソールを使用してインストールすることもできます。

C# PostgreSQL(開発者向けの動作方法):図1 - Npgsql

データベース接続の構成

C#からPostgreSQLデータベースと対話する最初のステップは接続を確立することです。 これには、サーバー名、ポート、ユーザー名、パスワードなどの詳細を含む接続文字列が必要です。 ここにPostgreSQL接続文字列の基本テンプレートがあります。

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

localhostyourpasswordmydatabaseをあなたのPostgreSQLサーバーの詳細で置き換えてください。

従業員モデルの定義

私たちは、PostgreSQLデータベースでデータを表すEmployeeエンティティモデルを定義します。 このモデルには、データベーステーブルの列に対応するプロパティが含まれています。

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

このコードスニペットは、IdLastNameの2つのプロパティを持つシンプルなEmployeeクラスを定義しています。 Entity Framework Coreは、Idシリアル主キーをプライマリキーとして扱うべきことを推測するために慣習を使用します。

アプリケーションのDbContextの構成

AppDbContextクラスは、Entity Framework CoreのDbContextを拡張し、C#アプリケーションとPostgreSQLデータベースの間の橋渡しの役割を果たします。 それには接続文字列やデータベース内のテーブルを表すDbSetプロパティなどの設定詳細が含まれています。

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 プロパティ:****パブリック DbSet<Employee>従業員 { 取得; set; } **は、Employeeエンティティのセットを宣言し、PostgreSQLデータベース内の従業員テーブルにマッピングされます。

  • OnConfiguring メソッド:このメソッドは、必要なデータベース接続文字列を使用してDbContextを構成します。 your_passwordyour_databaseをあなたの実際のPostgreSQLサーバーの詳細で置き換えてください。

  • **OnModelCreating メソッド:**ここでは、Fluent API を使用してエンティティの動作をさらに構成できます。 この例では、テーブル名を明示的に指定していますが、DbSetプロパティ名とテーブル名が一致する場合は省略可能です。

メインプログラムのロジック

ProgramクラスのMainメソッドでは、データベースが作成され、空の場合は初期データでシードされ、その後、クエリを実行して従業員データを取得して表示します。

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

上記のコードは、データベースが存在するかどうかを確認し、スキーマと共に作成されていない場合は作成します。 これは、開発中に新しいデータベースをブートストラップするための簡単な方法です。 このSQL文は、Employeesテーブルが空の場合、プログラムが姓を"Software"とする新しいEmployeeを追加し、データベースに変更を保存することを確認します。 プログラムは、Employeesテーブルの"Software"という姓のエントリをクエリし、その詳細をコンソールに表示します。

出力

プログラムを実行するときのコンソール出力はこちらです。

C# PostgreSQL(開発者向けの動作方法):図2 - 出力

そして、それがPgAdminのテーブルデータです:

C# PostgreSQL(開発者向けの動作方法):図3 - テーブル出力

IronPDFの紹介

IronPDFライブラリの機能を探索して、このC#用の包括的なライブラリが.NETアプリケーション内でPDFドキュメントの作成、編集、および操作をどのように可能にするかを理解してください。 この強力なツールは、HTML、URL、画像からPDFを生成するのを簡素化します。 また、テキストや画像の編集、暗号化やデジタル署名のようなセキュリティ機能の追加など、必要なPDF操作を提供します。 IronPDFは、最小のコードで複雑なPDF機能を実装できる使いやすさで際立っています。

IronPDFはHTMLをPDFに簡単に変換する機能を提供し、レイアウトとスタイルをそのままにします。 この機能は、レポート、請求書、文書などのWebベースのコンテンツからPDFを生成するのに理想的です。 HTMLファイル、URL、およびHTML文字列を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");
    }
}

IronPDFとPostgreSQLデータベースを統合することは、データベースに保存されている動的なデータに基づいてPDFレポートや文書を生成する必要があるシナリオで非常に役立ちます。 これは、PostgreSQLデータベースに永続化されたデータから直接、請求書、レポート、顧客の明細書などを生成することに関連します。

IronPDFのインストール

IronPDFを使用する前に、プロジェクトに追加する必要があります。 これはNuGetパッケージマネージャーを介して簡単に行うことができます。

PM > Install-Package IronPdf

PostgreSQLデータからPDFを生成する

この例では、PostgreSQLデータベースから従業員のリストを表示する簡単なPDFレポートを生成しましょう。 以前のセクションで説明したように、AppDbContextEmployeeモデルが設定されていることを前提とします。

最初に、プロジェクトにIronPDFライブラリがインストールされていることを確認してください。 その後、以下のコードを使用してPostgreSQLデータベースからデータを取得し、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}");
        }
    }
}

出力

コードを実行すると、このコンソール出力が表示されます:

C# PostgreSQL(開発者向けの動作方法):図4 - コンソール出力

このPDFが生成されました:

C# PostgreSQL(開発者向けの動作方法):図5 - PDF出力

結論

あなたはC#とPostgreSQLを使用したデータベース管理の世界への重要な第一歩を踏み出しました。 このチュートリアルの指示に従って、Visual Studioでプロジェクトを設定し、必要なパッケージをインストールし、基本的なデータベース操作を実行する方法を学びました。 これらの概念に慣れていくうちに、C#と最も重要なリレーショナルデータベースシステムの1つを組み合わせる際の力と柔軟性を発見するでしょう。 異なるクエリやエンティティ構成を試して、C#がPostgreSQLとどのように対話するかについての理解を深め続けてください。

IronPDFは、IronPDF機能の無料トライアルを提供しており、開発者がその機能を初期投資なしで探求できます。 このトライアルは、IronPDFが.NETアプリケーションでPDFドキュメントを生成、編集、および変換するプロジェクトの要件をどれだけ満たすかを評価するために特に役立ちます。 試用期間後、または本番環境での使用のためには、ライセンスの取得が必要です。 IronPDFのライセンスは$999から始まり、異なる開発ニーズに適した様々な機能とサポートオプションを提供しています。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。