Was ist Entity Framework Core und wozu wird es benötigt
\nEntity Framework Core (EF Core) ist eine moderne objektrelationale Abbildung (ORM) für die .NET-Plattform, entwickelt von Microsoft. Sie ermöglicht Entwicklern die Arbeit mit Datenbanken unter Verwendung von .NET-Objekten und erspart das Schreiben des Großteils des Datenzugriffscodes.
\n\nEF Core ist eine leichte, erweiterbare und plattformübergreifende Version von Entity Framework. Es unterstützt zahlreiche DBMS, darunter SQL Server, SQLite, PostgreSQL, MySQL, Oracle und andere.
\n\nHauptfunktionen von EF Core:
\n- \n
- Automatische Erstellung und Aktualisierung des Datenbankschemas basierend auf dem Modell (Code First) \n
- Ausführung von Datenbankabfragen mit LINQ (Language Integrated Query) \n
- Automatische Nachverfolgung von Objektänderungen und Generierung von SQL-Befehlen zur Datenaktualisierung \n
- Unterstützung von Migrationen zur Verwaltung von Schemaänderungen der Datenbank \n
- Unterstützung von Beziehungen zwischen Entitäten (eins-zu-eins, eins-zu-viele, viele-zu-viele) \n
- Lazy Loading, Eager Loading und explizites Laden von zugehörigen Daten \n
Installation von Entity Framework Core
\nDie Installation von EF Core erfolgt über den NuGet Package Manager. Anders als bei Python wird hier dotnet add package oder der Visual Studio-Paketmanager verwendet.
Installation über die .NET CLI:
\ndotnet add package Microsoft.EntityFrameworkCore\ndotnet add package Microsoft.EntityFrameworkCore.SqlServer\ndotnet add package Microsoft.EntityFrameworkCore.Tools\n\nInstallation für PostgreSQL (Npgsql):
\ndotnet add package Npgsql.EntityFrameworkCore.PostgreSQL\n\nInstallation für SQLite:
\ndotnet add package Microsoft.EntityFrameworkCore.Sqlite\n\nInstallation für MySQL:
\ndotnet add package Pomelo.EntityFrameworkCore.MySql\n\nSchnellstart mit einem Codebeispiel
\nWir erstellen eine einfache Konsolenanwendung für die Arbeit mit einer Buchdatenbank.
\n\n1. Datenmodell erstellen:
\npublic class Book\n{\n public int Id { get; set; }\n public string Title { get; set; }\n public string Author { get; set; }\n public int Year { get; set; }\n public decimal Price { get; set; }\n}\n\npublic class Author\n{\n public int Id { get; set; }\n public string Name { get; set; }\n public List<Book> Books { get; set; } = new();\n}\n\n2. Datenbankkontext erstellen:
\npublic class LibraryContext : DbContext\n{\n public DbSet<Book> Books { get; set; }\n public DbSet<Author> Authors { get; set; }\n\n protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)\n {\n optionsBuilder.UseSqlite("Data Source=library.db");\n }\n}\n\n3. EF Core zur Datenverarbeitung verwenden:
\nusing var context = new LibraryContext();\ncontext.Database.EnsureCreated(); // Datenbank erstellen, falls nicht vorhanden\n\n// Daten hinzufügen\nvar author = new Author { Name = "Leo Tolstoi" };\nauthor.Books.Add(new Book { Title = "Krieg und Frieden", Year = 1869, Price = 1500m });\nauthor.Books.Add(new Book { Title = "Anna Karenina", Year = 1877, Price = 1200m });\n\ncontext.Authors.Add(author);\ncontext.SaveChanges();\n\n// Daten lesen\nvar books = context.Books\n .Where(b => b.Year > 1850)\n .OrderBy(b => b.Year)\n .ToList();\n\nforeach (var book in books)\n{\n Console.WriteLine($"{book.Title} ({book.Year})");\n}\n\nWichtige Methoden und Funktionen von Entity Framework Core
\n\n1. Add
\nBeschreibung: Fügt eine neue Entität im Status Added zum Kontext hinzu. Beim Aufruf von SaveChanges() wird ein INSERT-Befehl ausgeführt.
\nParameter:
\n- \n
object entity
Auch in der Bibliothek
Arbeiten mit Daten in Java: Überblick über Bibliotheken und Werkzeuge
OAuth-Client für Go (Golang): Verbindung zu OAuth 2.0-Anbietern
SMS-Versand mit C# (.NET): Integration mit SMS-API-Diensten
openai-api-rs Rust: Vollständige Anleitung mit Codebeispielen