Entity Framework in C#

Entity Framework

Einleitung zum Entity Framework in C#

Das Entity Framework ist ein sogenanntes ORM (Object-Relational Mapping) Framework für .NET-Anwendungen. In einfachen Worten: Es ermöglicht Entwicklern, Datenbanken mithilfe von C#-Code zu verwalten, anstatt direkt mit SQL zu arbeiten.

Entdecke das Potenzial von C# und werde ein erfahrener Programmierer! Unser exklusiver Video Intensivkurs bietet dir alles, was du brauchst, um C# wie ein Pro zu beherrschen. Lerne von erfahrenen Dozenten, arbeite dich durch interaktive Übungen und Projekte und verbessere deine Fähigkeiten in Rekordzeit. Klick jetzt hier und starte deine Reise zum C#-Experten!

Wenn du wissen willst, wie du mit C# eine Verbindung zu einer SQL Datenbank ohne das Entity Framework herstellen kannst, dann schau dir mal diesen Beitrag dazu an.

In diesem Artikel werden wir uns damit beschäftigen, wie du das Entity Framework in einer .NET-Anwendung einrichten und verwenden kannst.

Was genau macht das Entity Framework?

Das Entity Framework (abgekürzt EF) erstellt automatisch eine Abstraktion der Datenbankstruktur in Form von Entitäten (engl. “entities”), die in C#-Code verwendet werden können. Das Entity Framework ermöglicht Entwicklern also, Datenbankabfragen auszuführen, Daten zu speichern und zu aktualisieren, ohne dass sie sich mit SQL-Abfragen auseinandersetzen müssen.

Entitäten-Beispiel: Wenn du Autos in einer Datenbank speicherst, dann ist die Auto Klasse die Entität (ganz einfach, oder?)

Merke: Mit dem Entity Framework kannst du Einträge ganz einfach ohne SQL (sondern mit C#) aus einer Datenbank lesen, speichern, verändern etc.

Wieso solltest du das Entity Framework verwenden?

Hier habe ich die wichtigsten Vorteile des Entity Frameworks für dich zusammengefasst:

  • Du musst dich nicht mehr mit der Verwaltung und Struktur deiner Datenbank auseinandersetzen
  • Du kannst produktiver arbeiten weil abfragen unkomplizierter und in C# eingebettet erstellt werden können
  • Die Automatisierungen, die das EF mit sich bringt, sparen dir viel Zeit (z.B. automatisch erstellen und anpassen deiner Datenbank Tabellen)

Die Verwendung vom Entity Framework in C# erspart dir zusammengefasst also Zeit und Kopfschmerzen im Umgang mit Datenbanken in deinen .NET Anwendungen.

Einrichtung des Entity Frameworks

Um das Entity Framework in einer .NET-Anwendung zu verwenden, musst du zunächst das Nuget-Paket <a href="https://www.nuget.org/packages/Microsoft.EntityFrameworkCore">Microsoft.EntityFrameworkCore</a> und auch das Microsoft.EntityFrameworkCore.InMemory installieren.

Anschließend kannst du mit dem Erstellen Ihrer Datenbankklasse beginnen. Diese Klasse vererbst du von der DbContext Klasse (die ist im EF enthalten), und gibst ihr alle gewünschten Datenbank Tabellen.

Die Klasse könnte folgendermaßen aussehen (ich habe zusätzlich noch die Auto Klasse als Entität hinzugefügt):

public class Car {

   public string Name { get; set; }

   public float MaxSpeed{ get; set; }

   public int Wheels { get; set; }

}
using Microsoft.EntityFrameworkCore;

public class MyDbContext : DbContext
{
    // Hier erstellen wir die Tabelle
    public DbSet<Car> Cars { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        // Dein Datenbank Connection String
        optionsBuilder.UseInMemoryDatabase(databaseName: "MyDb");  
    }
}

In diesem Beispiel erbt die MyDbContext-Klasse also von der DbContext-Klasse und enthält eine Eigenschaft “Car” vom Typ DbSet, die der Tabelle “Cars” in der Datenbank entspricht.

In der Methode OnConfiguring wird die Verbindung zur InMemory-Datenbank konfiguriert (eine Datenbank die nur während der Laufzeit im Arbeitsspeicher existiert).

Verwendung des Entity Frameworks in C#

Nachdem du die Datenbankklasse erstellt hast, kannst du damit auf deine Datenbank zugreifen und Abfragen ausführen.

Beispielsweise kannst du mit der Methode Add ein neues Objekt der Entität hinzufügen, die der Tabelle entspricht, und die Methode SaveChanges aufrufen, um die Änderungen in der Datenbank zu speichern.

Merke: Du musst die SaveChanges Methode immer aufrufen, wenn du ein Objekt in deiner Datenbank hinzufügst, veränderst oder löschst. Die Veränderungen werden sonst verworfen.

Du kannst auch Abfragen mit der Methode Where und Select ausführen, um bestimmte Datensätze aus der Tabelle zu erhalten.

Häufig verwendest du Entity Frame in ASP.NET Anwendungen. in diesem Fall kannst du die Datenbank einfach als Service konfigurieren. In diesem Artikel gehen wir nicht aus ASP.NET ein, daher erstellen wir einen Scope mit using und verwenden darin den Context.

Wenn du wissen willst, wieso du unbedingt ASP.NET lernen solltest, dann lies dir diesen Artikel dazu durch.

using (var context = new MyDbContext())
{
    var car = new Car { Name = "Mercedes", MaxSpeed = 240f, Wheels = 4 };

    context.Cars.Add(car); // Wir fügen der Tabelle das Auto hinzu

    context.SaveChanges(); // Wir speichern die Änderungen
}

Natürlich gibt es noch weitere Methoden um verschiedene Aktionen und Abfragen durchzuführen. Hier sind ein paar davon:

// Einen Datenbankeintrag hinzufügen
context.Cars.Add(car); 

// Einen Datenbankeintrag entfernen
context.Cars.Remove(car); 

// Einen bestehen Datenbankeintrag updaten
context.Cars.Update(car); 

// Gibt alle Mercedes zurück
var allMercedes = context.Cars.Where(c => c.Name == "Mercedes");

// Gibt den ersten gefunden Mercedes zurück
var mercedes = context.Cars.FirstOrDefault(c => c.Name == "Mercedes"); 

Es gibt noch einige weitere aber du solltest nun eine gute Vorstellung davon haben, was du mit dem EF in C# anstellen kannst du wie du es einrichtest.

Willst du wissen, wie du einfach und schnell zum C# Profi wirst?
PRogrammieren lernen kann einfach sein!
Overlay Image
Willst du wissen, wie du einfach und schnell zum C# Profi wirst?
PRogrammieren lernen kann einfach sein!
Overlay Image
Setze dein gelerntes Wissen in die Tat um und programmiere echte Anwendungen.
1. Tipp
1/3
Overlay Image
Setze dein gelerntes Wissen in die Tat um und programmiere echte Anwendungen.
1. Tipp
1/3
Overlay Image
Lerne wie du mit Debugging Fehler eines Programmes professionell beheben kannst.
2. Tipp
2/3
Overlay Image
Lerne wie du mit Debugging Fehler eines Programmes professionell beheben kannst.
2. Tipp
2/3
Overlay Image
Fokussiere dich beim lernen auf die richtigen Inhalte und nicht auf die Menge.
3. Tipp
3/3
Overlay Image
Fokussiere dich beim lernen auf die richtigen Inhalte und nicht auf die Menge.
3. Tipp
3/3
Overlay Image
Ja, so einfach kann es sein! Mit meinem C# Video-Intensivkurs wirst du ganz einfach zum echten C# Profi Entwickler. Möchtest du mehr dazu erfahren?
Alles in einem Kurs
Overlay Image
Ja, so einfach kann es sein! Mit meinem C# Intensivkurs für Grundlagen und Expertenwissen wirst du ganz einfach zum echten Profi Entwickler. Möchtest du mehr dazu erfahren?
Alles in einem Kurs
Overlay Image
Diese Seite verwendet Cookies. Wir können diese zur Analyse unserer Besucherdaten platzieren, um unsere Website zu verbessern, personalisierte Inhalte anzuzeigen und Ihnen ein großartiges Website-Erlebnis zu bieten. Für weitere Informationen zu den von uns verwendeten Cookies öffnen Sie die Einstellungen.