Warum Entity Framework Core nutzen?

Dieser Artikel vermittelt dir die Grundlagen von Entity Framework Core – einem modernen ORM für .NET-Anwendungen.

Entity Framework Core (EF Core) ist das bevorzugte Object-Relational Mapping (ORM)-Framework für .NET-Entwickler. Es ermöglicht eine einfache und effiziente Interaktion mit relationalen Datenbanken, ohne direkt SQL schreiben zu müssen.

Vorteile von EF Core:

  • Plattformübergreifend - Unterstützt Windows, Linux und macOS.
  • Leistungsstark & flexibel - Unterstützt verschiedene Datenbankanbieter (SQL Server, PostgreSQL, SQLite etc.).
  • Code First & Database First - Ermöglicht flexible Entwicklungsmethoden.
  • Integriertes Change Tracking - Automatische Verwaltung von Änderungen an Datenbankeinträgen.
  • Migrationen & Modellvalidierung - Versionierung der Datenbankstruktur direkt im Code.

Installation von Entity Framework Core

EF Core wird als NuGet-Paket installiert. Um EF Core zu nutzen, füge die Pakete zu deinem .NET-Projekt hinzu:

Installation mit .NET CLI

1# Basis-Paket für EF Core
2dotnet add package Microsoft.EntityFrameworkCore
3
4# Paket für die SQL Server-Unterstützung
5dotnet add package Microsoft.EntityFrameworkCore.SqlServer
6
7# Paket für Migrationen
8dotnet add package Microsoft.EntityFrameworkCore.Tools

Installation mit Package Manager

Falls du Visual Studio verwendest, kannst du die Pakete auch über die NuGet-Paketverwaltung hinzufügen:

  1. Visual Studio öffnen
  2. Projekt laden
  3. Tools -> NuGet-Paket-Manager -> Paketverwaltung für Lösung
  4. Microsoft.EntityFrameworkCore suchen und installieren

Erste Schritte mit EF Core

Um EF Core in einem Projekt zu nutzen, erstelle eine DbContext-Klasse und definiere deine Modelle.

Beispiel: Eine einfache Product-Entität

1public class Product
2{
3    public int Id { get; set; }
4    public string Name { get; set; }
5    public decimal Price { get; set; }
6}

DbContext erstellen

Die DbContext-Klasse verwaltet die Verbindung zur Datenbank:

1public class AppDbContext : DbContext
2{
3    public DbSet<Product> Products { get; set; }
4
5    protected override void OnConfiguring(DbContextOptionsBuilder options)
6    {
7        options.UseSqlServer("Server=.;Database=MyAppDB;Trusted_Connection=True;");
8    }
9}

Migrationen und Datenbankverwaltung

EF Core ermöglicht eine einfache Verwaltung der Datenbankstruktur mit Migrationen.

Migration erstellen

1dotnet ef migrations add InitialCreate

Migration anwenden

1dotnet ef database update

Abfragen mit LINQ

EF Core nutzt LINQ (Language Integrated Query), um Datenbankabfragen direkt in C# zu formulieren.

Beispiel: Daten abrufen

1using (var context = new AppDbContext())
2{
3    var products = context.Products.Where(p => p.Price > 50).ToList();
4    foreach (var product in products)
5    {
6        Console.WriteLine($"{product.Name}: {product.Price} EUR");
7    }
8}

Beispiel: Einfügen eines neuen Produkts

1using (var context = new AppDbContext())
2{
3    var newProduct = new Product { Name = "Laptop", Price = 999.99M };
4    context.Products.Add(newProduct);
5    context.SaveChanges();
6}

Tipps für den produktiven Einsatz von EF Core

  • Verwende AsNoTracking(), wenn Daten nur gelesen werden, um Performance zu verbessern.
  • Nutze Lazy Loading sparsam, um unerwartete Datenbankaufrufe zu vermeiden.
  • Verwalte Verbindungen richtig, um Speicherlecks zu vermeiden.
  • Nutze Migrations sauber, um Probleme bei der Datenbankversionierung zu verhindern.

Fazit

Entity Framework Core erleichtert die Arbeit mit Datenbanken erheblich und bietet viele nützliche Funktionen für .NET-Entwickler. Mit der richtigen Konfiguration und Best Practices kannst du das volle Potenzial von EF Core ausschöpfen und performante Anwendungen entwickeln.