.NET-HILFE

Npgsql C# (Wie es für Entwickler funktioniert)

Veröffentlicht 29. April 2024
Teilen Sie:

Npgsql ist eine Schlüsseltechnologie, die eine reibungslose Kommunikation zwischen .NET-Anwendungen und PostgreSQL datenbanken, da Entwickler nach leistungsfähigen Methoden für die Arbeit mit Datenbanken suchen. Der .NET Data Provider für PostgreSQL Server, oder Npgsql, ist ein Symbol für Kreativität, Effektivität und Anpassungsfähigkeit auf dem Gebiet der Datenbankkonnektivität. Es ermöglicht C#-, Visual Basic- und F#-Benutzern den Zugriff auf die Datenbank. Ein Legacy-Entity-Framework 6.x ist auch für EF-Core-Benutzer verfügbar.

Eine sehr beliebte .NET-Bibliothek namens IronPDF wird in C#- und VB.NET-Programmen zum Erzeugen, Ändern und Anzeigen von PDF-Dokumenten verwendet. Neben anspruchsvollen Aufgaben wie dem Kombinieren mehrerer PDFs, dem Hinzufügen von Wasserzeichen und dem Extrahieren von Text oder Bildern aus bereits vorhandenen PDF-Dateien ermöglicht es Entwicklern, PDF-Dateien aus einer Vielzahl von Quellen zu erstellen, darunter HTML, Fotos und Rohtext.

Sie werden lernen, wie Sie Folgendes integrieren können IronPDF und NPGSQL in der C#-Anwendung mit Hilfe dieses Tutorials. Wir werden untersuchen, wie diese Werkzeuge kombiniert werden können, um die Funktionalität Ihrer Anwendung zu verbessern, von der einfachen Einrichtung bis hin zu anspruchsvollen Funktionen.

Wie man Npgsql benutzt

  1. Erstellen Sie ein neues C#-Projekt

  2. Installieren Sie die Npgsql-Bibliothek.

  3. Verbinden Sie sich mit der Npgsql-Datenbank.

  4. Führen Sie die Abfrage aus und holen Sie das Ergebnis.

  5. Verarbeiten Sie das Ergebnis und schließen Sie die Verbindung.

1. Einführung in Npgsql

Grundlegend, Npgsql fungiert als Bindeglied zwischen .NET-Entwicklern und PostgreSQL, einem relationalen Open-Source-Datenbankmanagementsystem, das für seine Stabilität, Skalierbarkeit und Erweiterbarkeit bekannt ist. NPGSQL bietet Entwicklern die Möglichkeit, Transaktionen zu verarbeiten, Abfragen durchzuführen, Daten abzurufen und Datenbankoperationen mit einem unübertroffenen Maß an Komfort und Effizienz zu rationalisieren, indem es ein umfangreiches Feature-Set bietet.

1.1 Vorteile der Verwendung von Npgsql

Leistung: Die Geschwindigkeit und Effizienz von Npgsql sind bereits eingebaut. Um eine optimale Geschwindigkeit bei der Arbeit mit PostgreSQL-Datenbanken zu gewährleisten, werden Funktionen wie Batching-Befehle, asynchrone Ein-/Ausgabe und optimierte Datentypen verwendet.

Vollständige PostgreSQL-Unterstützung: Das Ziel von Npgsql ist es, vollständige Unterstützung für alle PostgreSQL-Funktionalitäten, wie Arrays, JSONB, erweiterte Datentypen und benutzerdefinierte Typen, anzubieten. Dies bedeutet, dass Programmierer das volle Potenzial von PostgreSQL in ihren .NET-Anwendungen nutzen können.

1.2 Erste Schritte mit Npgsql

1.2.1 Einrichten von Npgsql in C# Projekten

Es ist einfach, Npgsql in ein C#-Projekt einzubinden. Das Hinzufügen von Npgsql erfordert die Verwendung von Microsofts. NET-Paketverwaltung, NuGet. Diese Bibliothek bietet die notwendigen Werkzeuge und Bibliotheken, um eine Postgrey-Datenbank mit Npgsql in Ihre Projekte zu integrieren.

Npgsql C# (So funktioniert es für Entwickler): Abbildung 1 - Installieren Sie Npgsql mit dem Manage NuGet Package for Solution, indem Sie "Npgsql" in der Suchleiste des NuGet Package Manager suchen, dann das Projekt auswählen und auf die Schaltfläche Installieren klicken.

1.2.2 Implementierung von Npgsql in der Windows-Konsole und in Formularen

Mehrere C#-Anwendungstypen, wie Windows Forms (WinForms) und Windows-Konsole, können Npgsql nutzen. Während die Implementierung der einzelnen Frameworks variiert, ist die grundlegende Idee immer dieselbe: Npgsql dient als Container für Datenbanken innerhalb Ihrer Anwendung.

1.2.3 Ein einfaches Beispiel für das Abrufen von Daten aus Npgsql

Erstellen Sie eine Verbindung mit Npgsql, bevor Sie mit der PostgreSQL-Datenbank arbeiten. Führen Sie dann SQL-Abfragen aus, um Daten aus PostgreSQL abzurufen. NpgsqlCommand ist ein Werkzeug zur Ausführung von SQL-Abfragen.

using Npgsql;
using System.Text;
class Program
{
    static void Main(string [] args)
    {
        // PostgreSQL connection string
        string connString = "Host=myServerAddress;Port=myPort;Username=myUsername;Password=myPassword;Database=myDatabase";
        // Create connection object
        NpgsqlConnection conn = new NpgsqlConnection(connString);
        // Open the connection
        conn.Open();
        // SQL query
        string sql = "SELECT * FROM myTable";
        // Create NpgsqlCommand
        NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
        // Execute the command and retrieve data
        NpgsqlDataReader reader = cmd.ExecuteReader();
        // Loop through the retrieved data
        while (await reader.ReadAsync())
        {
            // Retrieve data from the data reader
            string name = reader ["Name"].ToString();
            int age = Convert.ToInt32(reader ["Age"]);
            // Add data to the PDF
            console.writeline($"Name: {name}, Age: {age}");
        }
        // Close the connection when done
        conn.Close();
    }
}
using Npgsql;
using System.Text;
class Program
{
    static void Main(string [] args)
    {
        // PostgreSQL connection string
        string connString = "Host=myServerAddress;Port=myPort;Username=myUsername;Password=myPassword;Database=myDatabase";
        // Create connection object
        NpgsqlConnection conn = new NpgsqlConnection(connString);
        // Open the connection
        conn.Open();
        // SQL query
        string sql = "SELECT * FROM myTable";
        // Create NpgsqlCommand
        NpgsqlCommand cmd = new NpgsqlCommand(sql, conn);
        // Execute the command and retrieve data
        NpgsqlDataReader reader = cmd.ExecuteReader();
        // Loop through the retrieved data
        while (await reader.ReadAsync())
        {
            // Retrieve data from the data reader
            string name = reader ["Name"].ToString();
            int age = Convert.ToInt32(reader ["Age"]);
            // Add data to the PDF
            console.writeline($"Name: {name}, Age: {age}");
        }
        // Close the connection when done
        conn.Close();
    }
}
Imports Npgsql
Imports System.Text
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' PostgreSQL connection string
		Dim connString As String = "Host=myServerAddress;Port=myPort;Username=myUsername;Password=myPassword;Database=myDatabase"
		' Create connection object
		Dim conn As New NpgsqlConnection(connString)
		' Open the connection
		conn.Open()
		' SQL query
		Dim sql As String = "SELECT * FROM myTable"
		' Create NpgsqlCommand
		Dim cmd As New NpgsqlCommand(sql, conn)
		' Execute the command and retrieve data
		Dim reader As NpgsqlDataReader = cmd.ExecuteReader()
		' Loop through the retrieved data
		Do While Await reader.ReadAsync()
			' Retrieve data from the data reader
			Dim name As String = reader ("Name").ToString()
			Dim age As Integer = Convert.ToInt32(reader ("Age"))
			' Add data to the PDF
			console.writeline($"Name: {name}, Age: {age}")
		Loop
		' Close the connection when done
		conn.Close()
	End Sub
End Class
VB   C#

Im obigen Codeschnipsel erhalten wir die Daten aus Npgsql und zeigen sie in der Konsole an. Die folgende Abbildung zeigt das Ergebnis der ausgeführten Abfrage.

Npgsql C# (Wie es für Entwickler funktioniert): Abbildung 2 - Konsolenausgabe zur Anzeige von Name und Alter aus der PostgreSQL-Datenbank unter Verwendung des Npgsql-Pakets im .NET-Projekt

2. Npgsql-Operationen mit PostgreSQL

2.1 Parametrisierte Abfragen mit PostgreSQL

Da parametrisierte Abfragen es dem Datenbankserver ermöglichen, Abfragepläne zwischenzuspeichern, verbessern sie die Abfrageleistung und helfen, SQL-Injection-Angriffe zu verhindern. Npgsql unterstützt parametrisierte Abfragen. Darüber hinaus wird die Arbeit mit dynamischen SQL-Abfragen auf sichere und effektive Weise durch parametrisierte Abfragen erleichtert.

2.2 Massenoperationen mit PostgreSQL

Bei der Arbeit mit großen Datenbeständen können die von Npgsql unterstützten Masseneinfügungs-, Aktualisierungs- und Löschaktionen die Geschwindigkeit erheblich steigern. Der Overhead, der durch separate Roundtrips zum Datenbankserver entsteht, wird verringert, wenn dank der Bulk-Operationen mehrere Zeilen in einer einzigen Datenbanktransaktion verarbeitet werden können.

Transaktionen mit PostgreSQL

Transaktionen werden von Npgsql unterstützt, was die Zusammenfassung mehrerer Datenbankoperationen zu einer einzigen atomaren Einheit ermöglicht. Transaktionen sorgen für Datenkonsistenz und -integrität, indem sie entweder alle Änderungen in der Datenbank festschreiben oder im Falle eines Fehlers die gesamte Transaktion zurücksetzen.

2.3 Leistungsoptimierung mit PostgreSQL

Bei der Arbeit mit PostgreSQL-Datenbanken bietet Npgsql eine Reihe von Leistungsverbesserungen, einschließlich Query Plan Caching, Result Streaming und Command Batching, um die Latenz zu reduzieren und den Durchsatz zu erhöhen. Die Skalierbarkeit und die allgemeine Geschwindigkeit der Anwendung werden durch diese Erweiterungen verbessert.

2.4 Verbindung mit der PostgreSQL-Datenbank

Der PostgreSQL-Datenbankserver kann mit Hilfe des Npgsql mit ein paar Zeilen Code unten leicht verbunden werden.

NpgsqlConnection conn = new NpgsqlConnection(connString);
NpgsqlConnection conn = new NpgsqlConnection(connString);
Dim conn As New NpgsqlConnection(connString)
VB   C#

Dieses einfache Codeschnipsel hilft uns bei der Verbindung mit dem PostgreSQL-Datenbankserver.

3. Integration von Npgsql in IronPDF

3.1 Gemeinsame Verwendung von Npgsql und IronPDF

Spannende Möglichkeiten ergeben sich, wenn Npgsql und IronPDF zusammen in einem C#-Projekt eingesetzt werden. Obwohl Npgsql ein großartiges Werkzeug für die Arbeit mit Postgresql ist, ist IronPDF ein großartiges Werkzeug für die Umwandlung dieser Inhalte in PDFs. Dank dieser Konnektivität können Programmierer Anwendungen entwickeln, die mit Datenbanken kommunizieren und diese Inhalte in PDFs umwandeln können.

3.2 Abrufen von Postgresql-Daten mit IronPDF

Benutzer können mit der Datenbank innerhalb Ihrer Anwendung interagieren, indem sie eine Windows-Konsolenanwendung erstellen, die Npgsql verwendet. Fügen Sie zuerst den Datenbankzugriff zu Ihrer Anwendung hinzu. Auf der Konsole sollte genügend Platz für dieses Steuerelement vorhanden sein, so dass viel Platz für DB-Interaktionen bleibt. Einschließlich Datentypzuordnung und Massenoperationen.

IronPDF installieren

  • Starten Sie das Projekt in Visual Studio.
  • Wählen Sie "Werkzeuge" > "NuGet Package Manager" > "Package Manager Console".

    • Geben Sie den folgenden Befehl in der Paketmanager-Konsole ein und drücken Sie die Eingabetaste:
Install-Package IronPdf
  • Alternativ können Sie IronPDF auch mit dem NuGet Package Manager for Solutions installieren.

    • Suchen Sie das IronPDF-Paket in den Suchergebnissen, wählen Sie es aus und klicken Sie dann auf die Schaltfläche "Installieren". Der Download und die Installation werden von Visual Studio automatisch durchgeführt.

    Npgsql C# (Wie es für Entwickler funktioniert): Abbildung 3 - Installieren Sie IronPDF über die Funktion NuGet-Pakete für Lösungen verwalten, indem Sie in der Suchleiste des NuGet-Paketmanagers nach "IronPdf" suchen, dann das Projekt auswählen und auf die Schaltfläche Installieren klicken.

  • Das IronPDF-Paket wird von NuGet heruntergeladen und zusammen mit allen für Ihr Projekt benötigten Abhängigkeiten installiert.
  • Nach der Installation können Sie mit der Verwendung von IronPDF in Ihrem Projekt beginnen.

Installation über die NuGet-Website

Weitere Informationen über IronPDF, einschließlich Funktionen, Kompatibilität und andere Download-Möglichkeiten, finden Sie auf der IronPDF-Seite unter https://www.nuget.org/packages/IronPdf auf der NuGet-Website.

DLL zur Installation verwenden

Alternativ können Sie die dll-Datei von IronPDF verwenden, um sie direkt in Ihr Projekt zu integrieren. Verwenden Sie diese link um die ZIP-Datei herunterzuladen, die die DLL enthält. Nach dem Entpacken fügen Sie die DLL zu Ihrem Projekt hinzu.

Umsetzung der Logik

Als wir die Anwendung starteten. Es holt die Daten aus der Datenbank mit Hilfe der Npgsql .NET Bibliothek. Mit Hilfe von IronPDF sind wir in der Lage, den Inhalt der Datenbank in ein PDF-Dokument zu konvertieren.

  1. Daten abrufen: Holen Sie den neuesten Inhalt vom Npgsql .NET-Anbieter, wenn der Benutzer die Konvertierung startet.

  2. PDF mit IronPDF generieren: Um die Daten aus der Npgsql-Datenbank in ein PDF zu konvertieren, verwenden Sie IronPDF. Die HTML-Zeichenfolge kann mit Hilfe der Klasse HtmlToPdf in ein PDF-Dokument formatiert werden.

  3. PDF speichern und benachrichtigen: Speichern Sie die erzeugte PDF-Datei entweder an einem bestimmten Ort oder hinterlassen Sie eine Meldung auf der Konsole. Benachrichtigen Sie den Benutzer - möglicherweise über eine Terminalnachricht - dass die Konvertierung erfolgreich war, sobald die PDF-Datei gespeichert wurde.
using Npgsql;
using IronPdf;
using System.Text;
class Program
{
    static void Main(string [] args)
    {
        StringBuilder sb = new StringBuilder();
        var Renderer = new ChromePdfRenderer(); // Instantiates Chrome Renderer
        sb.Append("<h1>Dynamic PDF Generated from PostgreSQL Data</h1>");
    //ngsql code here
        while (await reader .ReadAsync())
        {
            // Retrieve data from the data reader
            string name = reader ["Name"].ToString();
            int age = Convert.ToInt32(reader ["Age"]);
            // Add data to the PDF
            sb.Append($"<p>Name: {name}, Age: {age}</p>");
        }
        var pdf = Renderer.RenderHtmlAsPdf(sb.ToString());
        // Save the PDF document
        pdf.SaveAs("output.pdf");
        // Close the connection when done
        conn.Close();
    }
}
using Npgsql;
using IronPdf;
using System.Text;
class Program
{
    static void Main(string [] args)
    {
        StringBuilder sb = new StringBuilder();
        var Renderer = new ChromePdfRenderer(); // Instantiates Chrome Renderer
        sb.Append("<h1>Dynamic PDF Generated from PostgreSQL Data</h1>");
    //ngsql code here
        while (await reader .ReadAsync())
        {
            // Retrieve data from the data reader
            string name = reader ["Name"].ToString();
            int age = Convert.ToInt32(reader ["Age"]);
            // Add data to the PDF
            sb.Append($"<p>Name: {name}, Age: {age}</p>");
        }
        var pdf = Renderer.RenderHtmlAsPdf(sb.ToString());
        // Save the PDF document
        pdf.SaveAs("output.pdf");
        // Close the connection when done
        conn.Close();
    }
}
Imports Npgsql
Imports IronPdf
Imports System.Text
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim sb As New StringBuilder()
		Dim Renderer = New ChromePdfRenderer() ' Instantiates Chrome Renderer
		sb.Append("<h1>Dynamic PDF Generated from PostgreSQL Data</h1>")
	'ngsql code here
		Do While Await reader.ReadAsync()
			' Retrieve data from the data reader
			Dim name As String = reader ("Name").ToString()
			Dim age As Integer = Convert.ToInt32(reader ("Age"))
			' Add data to the PDF
			sb.Append($"<p>Name: {name}, Age: {age}</p>")
		Loop
		Dim pdf = Renderer.RenderHtmlAsPdf(sb.ToString())
		' Save the PDF document
		pdf.SaveAs("output.pdf")
		' Close the connection when done
		conn.Close()
	End Sub
End Class
VB   C#

Nachfolgend sehen Sie das Ergebnis, das mit dem obigen Code erzeugt wurde. Weitere Informationen über die IronPDF-Dokumentation finden Sie unter hier.

Npgsql C# (Wie es für Entwickler funktioniert): Abbildung 4 - PDF-Ausgabe, die mit Daten aus der PostgreSQL-Datenbank Npgsql und IronPDF erstellt wurde.

Schlussfolgerung

Durch die umfassende Integration von IronPDFpDF-Erzeugungsfunktionen und NPGSQL PostgreSQL-Datenbankkonnektivität können Entwickler anpassungsfähige und robuste Lösungen für die Erstellung dynamischer PDF-Dokumente entwerfen, die ihren individuellen Anforderungen entsprechen.

Das 749 $ teure Lite-Paket enthält neben einer permanenten Lizenz und einem Jahr Software-Support auch Upgrade-Optionen. IronPDF bietet freie Lizenzvergabe. Um mehr über die anderen Produkte von Iron Software zu erfahren, klicken Sie hier link.

IronPDF bietet auch eine vollständige Dokumentation leitfaden und aktiv gepflegt code-Beispiele wie Sie die verschiedenen Funktionen von IronPDF zur Erstellung und Bearbeitung von PDFs nutzen können.

< PREVIOUS
Prism-Protokollierung (So funktioniert es für Entwickler)
NÄCHSTES >
C# Teilweise (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >