IRONSOFTWAREHOME
ENTWICKLER-UPDATES

Entity Framework Core (Wie es für Entwickler funktioniert)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 23. April 2026

Im Bereich der modernen Softwareentwicklung ist effizientes Datenmanagement entscheidend. Egal, ob Sie eine einfache Anwendung oder ein komplexes Unternehmenssystem entwickeln, der effektive Zugriff, die Manipulation und das Speichern von Daten sind grundlegende Anforderungen. Entity Framework Core (EF Core) in C# ist ein leistungsstarkes Werkzeug, das den Datenzugriff vereinfacht, indem es einen bequemen und objektorientierten Ansatz für die Arbeit mit Datenbanken bietet. In diesem Artikel tauchen wir in die Welt von EF Core ein, erforschen seine Merkmale, Fähigkeiten und Best Practices. Außerdem werfen wir einen Blick auf IronPDF für den Umgang mit PDF-Dokumenten von Iron Software Solutions, um PDF-Dokumente zu lesen, zu schreiben und zu verwalten. Wir werden ein praktisches Beispiel mit beiden Paketen erstellen.

Verstehen von Entity Framework Core

Entity Framework Core ist eine Open-Source-, leichte und erweiterbare Version der beliebten Entity Framework-Datenzugriffstechnologie. Es ist plattformübergreifend ausgelegt und unterstützt verschiedene bestehende Datenbankserveranbieter, einschließlich SQL Server, SQLite, MySQL, PostgreSQL, Azure Cosmos DB und mehr. EF Core ist ein moderner objektrelationaler Mapper und folgt dem ORM-Muster (Objekt-Relationales Mapping), welches es Entwicklern ermöglicht, mit Datenbanken zu arbeiten, indem .NET-Objekte verwendet werden, was das Schreiben umständlicher SQL-Abfragen manuell überflüssig macht.

Schlüsselmerkmale von EF Core

  1. Modellierung von Entitäten: EF Core ermöglicht es Entwicklern, Datenmodelle mithilfe von Plain Old CLR Objects (POCOs) zu definieren. Diese Entitätsklassen repräsentieren Datenbanktabellen, wobei Eigenschaften den Tabellenspalten zugeordnet sind.

  2. LINQ-Unterstützung: EF Core unterstützt nahtlos LINQ-Abfragen (Language Integrated Query), sodass Entwickler stark typisierte Abfragen gegen den SQL Server oder jede andere Datenbank mit vertrauter C#-Syntax schreiben können. Dies macht das Abfragen von Daten intuitiv und verringert die Wahrscheinlichkeit von Laufzeitfehlern. Auch rohe SQL-Anweisungen können zusammen mit LINQ-Abfragen verwendet werden.

  3. Datenbankmigrationen: Das Verwalten von Änderungen am Datenbankschema kann eine Herausforderung sein, insbesondere in einer Teamumgebung. EF Core vereinfacht diesen Prozess, indem es Datenbankmigrationen bereitstellt, die es Entwicklern ermöglichen, inkrementelle Änderungen am Datenbankschema mit Code-First-Migrationen anzuwenden.

  4. Lazy Loading und Eager Loading: EF Core unterstützt sowohl Lazy Loading als auch Eager Loading Strategien, die es Entwicklern ermöglichen, die Leistung zu optimieren, indem verwandte Daten bei Bedarf oder im Voraus geladen werden, je nach Anwendungsfall.

  5. Transaktionsverwaltung: Transaktionen gewährleisten Datenkonsistenz und -integrität während Datenbankoperationen. EF Core erlaubt es Entwicklern, mit Transaktionen explizit zu arbeiten, sodass eine Gruppe von Datenbankoperationen entweder gemeinsam erfolgreich oder fehlschlagen.

  6. Gleichzeitigkeitskontrolle: EF Core bietet integrierte Unterstützung zur Verwaltung von Konkurrenzkonflikten, sodass Entwickler Konflikte erkennen und beheben können, die auftreten können, wenn mehrere Benutzer versuchen, dieselben Daten gleichzeitig zu ändern.

Einstieg mit EF Core

Lassen Sie uns ein einfaches Beispiel für die Verwendung von SQLite mit Entity Framework Core (EF Core) in einer ASP.NET Core-Anwendung erstellen. Hier sind die Schritte:

  1. Erstellen Sie Ihre Anwendung:

    • Beginnen Sie mit der Erstellung einer Konsolen- oder ASP.NET-Anwendung.
  2. Erforderliche Pakete installieren:

    • Fügen Sie die folgenden NuGet-Pakete zu Ihrem Projekt hinzu:

      • Microsoft.EntityFrameworkCore (Version 1.0.0 oder höher)
      • Microsoft.EntityFrameworkCore.Sqlite (Version 1.0.0 oder höher)
  3. Erstellen Sie Ihren Datenbankkontext:

    • Definieren Sie eine Klasse für Ihren Datenbankkontext (z.B. DatabaseContext), die von DbContext erbt.

    • Im OnConfiguring-Methode, setzen Sie den SQLite-Verbindungsstring:

      public class DatabaseContext : DbContext
      {
          protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
          {
              optionsBuilder.UseSqlite("Filename=sample.db");
          }
      }
      C#
  4. Den Kontext erfassen:

    • In Ihrer Startup-Klasse, fügen Sie Ihren Kontext zu den Diensten hinzu:

      public void ConfigureServices(IServiceCollection services)
      {
          services.AddEntityFrameworkSqlite().AddDbContext<DatabaseContext>();
      }
      C#
  5. Datenbank beim Start erstellen:

    • Im Startup-Konstruktor, erstellen Sie Ihre Datenbank:

      public Startup(IHostingEnvironment env)
      {
          using (var client = new DatabaseContext())
          {
              client.Database.EnsureCreated();
          }
      }
      C#
  6. Verwenden Sie SQLite in Ihrer Anwendung:

    • Jetzt können Sie SQLite in Ihrer ASP.NET Core-Anwendung über EF Core verwenden.
    • Definieren Sie Ihre Modelle und verwenden Sie DatabaseContext, um mit der Datenbank zu interagieren.

Denken Sie daran, dass dies ein einfaches Beispiel ist und es andere Möglichkeiten gibt, die Verbindungszeichenfolge zu konfigurieren und EF Core zu verwenden. Fühlen Sie sich frei, fortgeschrittenere Funktionen zu erkunden und dies an Ihre spezifischen Bedürfnisse anzupassen!

Best Practices für die EF Core Entwicklung

  1. DbContext eingeschränkt halten: DbContext-Instanzen in EF Core sind so konzipiert, dass sie kurzlebig sind und typischerweise auf die Lebensdauer einer einzelnen Anfrage in Webanwendungen beschränkt sein sollten.

  2. Verwenden Sie AsNoTracking für Leseoperationen: Bei lesenden Operationen, bei denen nicht erwartet wird, dass Entitäten geändert werden, verwenden Sie die AsNoTracking-Methode, um die Leistung zu verbessern, indem Sie das Änderungsverfolgungssystem umgehen.

  3. Abfragen optimieren: Schreiben Sie effiziente Abfragen, indem Sie geeignete Indizierungs-, Paginierungs- und Filtertechniken verwenden, um die Menge der von der Datenbank abgerufenen Daten zu minimieren.

  4. Vermeidung von N+1-Abfrageproblemen: Achten Sie auf das N+1-Abfrageproblem, bei dem für jedes verbundene Entität in einer Sammlung eine Abfrage ausgeführt wird. Verwenden Sie Eager Loading oder explizites Laden, um verwandte Daten effizient abzurufen.

  5. Leistung überwachen: Überwachen Sie die Leistung von EF Core mithilfe von Tools wie Entity Framework Profiler oder eingehenden Log-Fähigkeiten, um Leistungsengpässe zu identifizieren und anzugehen.

Einführung in IronPDF

Entity Framework Core (Wie es für Entwickler funktioniert): Abbildung 1 - IronPDF

IronPDF ist eine leistungsstarke C# PDF-Bibliothek, die es ermöglicht, PDF-Dokumente in .NET-Projekten zu erstellen, zu bearbeiten und Inhalte daraus zu extrahieren. Hier sind einige wichtige Funktionen:

  1. HTML-zu-PDF-Konvertierung:

    • Konvertieren Sie HTML-, CSS- und JavaScript-Inhalte in das PDF-Format.
    • Verwenden Sie die Chrome-Rendering-Engine für pixelgenaue PDFs.
    • PDFs aus URLs, HTML-Dateien oder HTML-Strings erstellen.
  2. Bild- und Inhaltskonvertierung:

    • Konvertieren Sie Bilder in und aus PDF.
    • Extrahieren Sie Text und Bilder aus bestehenden PDFs.
    • Unterstützung für verschiedene Bildformate.
  3. Bearbeitung und Manipulation:

    • Setzen Sie Eigenschaften, Sicherheit und Berechtigungen für PDFs.
    • Fügen Sie digitale Signaturen hinzu.
    • Metadaten und Versionsverlauf bearbeiten.
  4. Plattformübergreifende Unterstützung:

    • Funktioniert mit .NET Core (8, 7, 6, 5 und 3.1+), .NET Standard (2.0+) und .NET Framework (4.6.2+).
    • Kompatibel mit Windows, Linux und macOS.
    • Auf NuGet für eine einfache Installation verfügbar.

PDF-Dokumente mit IronPDF in Verbindung mit EF Core erzeugen

Erstellen Sie zunächst eine Konsolenanwendung mit Visual Studio wie unten beschrieben.

Entity Framework Core (Wie es für Entwickler funktioniert): Abbildung 2 - Neues Projekt

Projektname bereitstellen.

Entity Framework Core (Wie es für Entwickler funktioniert): Abbildung 3 - Projektkonfiguration

.NET plattformübergreifende Version bereitstellen.

Entity Framework Core (Wie es für Entwickler funktioniert): Abbildung 4 - Framework

Microsoft.EntityFrameworkCore-Paket installieren.

Entity Framework Core (Wie es für Entwickler funktioniert): Abbildung 5 - Microsoft.EntityFrameworkCore-Paket

Microsoft.EntityFrameworkCore.SqlLite-Paket installieren.

Entity Framework Core (Wie es für Entwickler funktioniert): Abbildung 6 - Microsoft.EntityFrameworkCore.SqlLite-Paket

IronPDF-Paket installieren.

Entity Framework Core (Wie es für Entwickler funktioniert): Abbildung 7 - IronPDF

Fügen Sie untenstehenden Code zu Program.cs hinzu.

using IronPdf;
using Microsoft.EntityFrameworkCore;
using System;
using System.Linq;

namespace CodeSample
{
    public class Program
    {
        public static void Main()
        {
            Console.WriteLine("-------------Demo EF core and IronPDF--------------");
            
            // Disable local disk access or cross-origin requests
            Installation.EnableWebSecurity = true;
            
            // Instantiate Renderer
            var renderer = new ChromePdfRenderer();
            
            // Start with initial HTML content
            var content = "<h1>Demo EF core and IronPDF</h1>";
            content += "<h2>Add Students</h2>";
            
            // Add Students to Database
            using (var client = new DatabaseContext())
            {
                client.Database.EnsureCreated(); // Create table if it doesn't exist
                client.Students.ExecuteDelete(); // Ensure the table is clean

                // Define students
                var students = new[]
                {
                    new Student { StudentName = "Bill", DateOfBirth = new DateTime(1990, 12, 01), Height = 5.45M, Weight = 56, Grade = 10 },
                    new Student { StudentName = "Mike", DateOfBirth = new DateTime(1992, 12, 06), Height = 4.45M, Weight = 34, Grade = 8 },
                    new Student { StudentName = "Peter", DateOfBirth = new DateTime(1990, 12, 03), Height = 5.0M, Weight = 50, Grade = 10 },
                    new Student { StudentName = "Bob", DateOfBirth = new DateTime(1990, 12, 09), Height = 4.56M, Weight = 56, Grade = 10 },
                    new Student { StudentName = "Harry", DateOfBirth = new DateTime(1990, 12, 21), Height = 5.6M, Weight = 56, Grade = 10 },
                    new Student { StudentName = "Charle", DateOfBirth = new DateTime(1993, 12, 11), Height = 5.5M, Weight = 56, Grade = 7 }
                };

                // Add students to database
                client.Students.AddRange(students);
                client.SaveChanges();

                // Add students info to HTML content
                foreach (var student in students)
                {
                    content = AddStudent(content, student);
                }
            }

            content += "<h2>Display Students in Database</h2>";
            
            // Display Students in Database
            using (var client = new DatabaseContext())
            {
                Console.WriteLine($"Displaying Students in Database:");
                var students = client.Students.ToList();
                
                foreach (var student in students)
                {
                    Console.WriteLine($"Name= {student.StudentName}, ID={student.StudentID}, Grade={student.Grade}, Weight={student.Weight}, Height={student.Height}");
                    content = AddStudent(content, student);
                }
            }           
            
            // Render HTML content to PDF
            var pdf = renderer.RenderHtmlAsPdf(content);
            
            // Export to a file or stream
            pdf.SaveAs("AwesomeEfCoreAndIronPdf.pdf");
        }

        // Helper method to add student info as HTML content
        private static string AddStudent(string content, Student student)
        {
            content += $"<p Name = {student.StudentName}, ID={student.StudentID}, Grade={student.Grade}, Weight={student.Weight}, Height={student.Height}</p>";
            return content;
        }
    }
    
    public class DatabaseContext : DbContext
    {
        public DbSet<Student> Students { get; set; }
        
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlite("Filename=IronPdfDemo.db");
        }        
    }
    
    public class Student
    {
        public int StudentID { get; set; }
        public string StudentName { get; set; }
        public DateTime? DateOfBirth { get; set; }
        public decimal Height { get; set; }
        public float Weight { get; set; }
        public int Grade { get; set; }
    }
}
C#

Code-Erklärung

  1. Einrichten des Renderers und Inhalts:

    • Der Code beginnt mit der Erstellung eines HTML-Inhaltsstrings mit einer Überschrift (<h1>) und einer Unterüberschrift (<h2>), um Studenten zur Datenbank hinzuzufügen.
    • Ziel ist es, ein PDF-Dokument mit IronPDF zu generieren, das Informationen über die Studenten enthält.
  2. Datenbankkontext und Hinzufügen von Studenten:

    • Die DatabaseContext-Klasse wird verwendet, um mit der Datenbank zu interagieren.
    • client.Database.EnsureCreated(); stellt sicher, dass die Datenbank und die Tabelle existieren.
    • client.Students.ExecuteDelete(); löscht alle vorhandenen Daten aus der Students-Tabelle.
    • Studenten werden definiert und der Datenbank hinzugefügt. Die Eigenschaften umfassen StudentName, DateOfBirth, Height, Weight und Grade.
    • client.SaveChanges(); speichert die Änderungen in der Datenbank.
  3. Anzeige der Studenten:

    • Der Code ruft alle Studenten mit client.Students.ToList(); ab.
    • Für jeden Studenten druckt er den Namen, die ID, die Note, das Gewicht und die Größe und fügt diese Informationen dem HTML-Inhalt hinzu.
  4. Rendering to PDF:

    • Die ChromePdfRenderer wird instanziiert.
    • Der HTML-Inhalt wird mit renderer.RenderHtmlAsPdf(content) in ein PDF gerendert.
  • Schließlich wird das PDF als "AwesomeEfCoreAnd IronPDF.pdf" gespeichert.

Ausgabe

Entity Framework Core (Wie es für Entwickler funktioniert): Abbildung 8 - Konsolenausgabe

PDF

Entity Framework Core (Wie es für Entwickler funktioniert): Abbildung 9 - PDF-Ausgabe

IronPDF Lizenzierung

Das IronPDF-Paket erfordert eine Lizenz zum Ausführen und Erstellen des PDFs. Fügen Sie den folgenden Code am Anfang der Anwendung hinzu, bevor das Paket aufgerufen wird.

IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";

Eine Testlizenz ist auf der IronPDF-Lizenzierungsseite verfügbar.

Abschluss

Entity Framework Core in C# bietet eine robuste und intuitive Möglichkeit, mit Datenbanken zu interagieren und bietet Funktionen wie LINQ-Unterstützung, Datenbankmigrationen und Transaktionsverwaltung direkt aus der Box. Indem Sie die Best Practices befolgen und seine leistungsstarken Fähigkeiten nutzen, können Entwickler skalierbare und wartbare Anwendungen mühelos erstellen. Egal, ob Sie ein erfahrener Entwickler sind oder gerade anfangen, EF Core ist ein wertvolles Werkzeug in Ihrem Werkzeugkasten für modernen Datenzugriff in C#-Anwendungen. Andererseits ist IronPDF eine .NET-Bibliothek zur Erstellung, Bearbeitung und Darstellung von PDF-Dokumenten innerhalb Ihrer Anwendungen. Sie können es zusammen mit EF Core verwenden, um HTML-Inhalte (einschließlich Bildern) in eine PDF-Datei umzuwandeln.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $