EF Core Tools und -Erweiterungen

Diese Tools und Erweiterungen stellen zusätzliche Funktionen für Entity Framework Core bereit.

Wichtig

Erweiterungen werden durch eine Vielzahl von Quellen erstellt und nicht als Teil des Entity Framework Core-Projekts verwaltet. Wenn Sie die Erweiterung eines Drittanbieters in Betracht ziehen, sollten Sie Qualität, Lizenzierung, Kompatibilität, Support usw. auswerten, um sicherzustellen, dass diese Ihren Anforderungen entspricht. Bei Erweiterungen, die für eine ältere EF Core-Version erstellt wurden, ist insbesondere darauf zu achten, dass sie möglicherweise aktualisiert werden müssen, bevor sie mit den neuesten Versionen kompatibel sind.

Tools

EF Core Power Tools

EF Core Power Tools ist eine Erweiterung von Visual Studio, die verschiedene Aufgaben von EF Core zur Entwurfszeit in einer einfachen Benutzeroberfläche verfügbar macht. Dadurch wird Reverse Engineering (Zurückentwicklung) von DbContext- und Entitätsklassen aus vorhandenen Datenbanken und SQL Server-DACPACs, die Verwaltung von Datenbankmigrationen und das Vornehmen von Modellvisualisierungen ermöglicht. Für EF Core 6–8.

GitHub-Wiki

EF Core Power Tools CLI

EF Core Power Tools CLI ist ein globales Befehlszeilentool für .NET. Es ermöglicht das erweiterte Reverse Engineering von DbContext- und Entitätsklassen aus vorhandenen Datenbanken und SQL Server DACPACs. Für EF Core 6–8.

GitHub-Infodatei

LLBLGen Pro

LLBLGen Pro ist eine Entitätsmodelllösung, die Entity Framework und Entity Framework Core unterstützt. Sie können problemlos ihr Entitätsmodell definieren und es Ihrer Datenbank zuordnen, indem Sie Database First oder Model First verwenden, sodass Sie sofort mit dem Schreiben von Abfragen beginnen können. Für EF Core 2-8.

Website

Devart Entity Developer

Entity Developer ist ein leistungsstarker O/RM-Designer für ADO.NET Entity Framework, NHibernate, LinqConnect, Telerik Data Access und LINQ to SQL. Sie können damit EF Core-Modelle mithilfe von Model First oder Database First visuell entwerfen sowie C#- oder Visual Basic-Code generieren. Für EF Core: 2-7.

Website

DevMagic EF Core Sidekick

EF Core Sidekick ist eine Visual Studio-Erweiterung, die die Leistungsfähigkeit der automatischen Codegenerierung in Visual Studio verbessert. Sie stellt eine Reihe von Tools und Vorlagen zum Generieren von EF Core-Entitäten und abgeleitetem DbContext aus einer vorhandenen Datenbank bereit und generiert dann Dienste und REST-APIs aus den Entitäten. Für EF Core 6–7.

Visual Studio Marketplace | Website

Visueller Editor für Entity Framework

Entity Framework Visual Editor ist eine Erweiterung von Visual Studio, mit der ein O/RM-Designer für visuelle Entwürfe von EF 6- und EF Core-Klassen hinzugefügt werden kann. Code wird mithilfe von T4-Vorlagen generiert und kann somit vollständig an die Anforderungen des Benutzers angepasst werden. Vererbung, uni- und bidirektionale Zuordnungen, Enumerationen, Farbcode für Klassen und das Hinzufügen von Textblöcken für Erklärungen zu möglicherweise schwer durchschaubaren Bereichen Ihres Designs werden unterstützt. Für EF Core 2-8.

Visual Studio Marketplace

IWAPI

IWAPI (Instant Web API) ist eine Gerüstbau-Engine für .NET Core, die die Generierung von DbContext-Klassen, -Entitäten und -Modellen automatisieren kann und eine funktionierende Web-API aus jeder SQL Server-Datenbank erstellt.

Website

efmig

efmig ist eine plattformübergreifende GUI-Anwendung, welche die tägliche Entwicklung bei der Arbeit mit Entity Framework Core beschleunigt. Es behandelt die gängigsten Anwendungsfälle wie Migrationscode und Skripterstellung mit einer einfachen Schnittstelle, die mit einem Mausklick bedient werden kann. Für EF Core 2-8.

GitHub-Repository

EFCore.Visualizer

Mit der Debuggerschnellansicht des Entity Framework Core-Abfrageplans können Sie den Abfrageplan Ihrer Abfragen direkt in Visual Studio anzeigen. Derzeit unterstützt der Visualizer SQL Server und PostgreSQL. Für EF Core 7-8.

Visual Studio Marketplace

Erweiterungen

Microsoft.EntityFrameworkCore.AutoHistory

Eine Plug-in-Bibliothek, mit deren Hilfe automatisch von EF Core durchgeführte Änderungen an den Daten in einer Verlaufstabelle aufgezeichnet werden. Für EF Core: 2-6.

GitHub-Repository | NuGet

EFCoreSecondLevelCacheInterceptor

Das Zwischenspeichern zweiter Ebene ist ein Abfragecache. Die Ergebnisse von EF-Befehlen werden im Cache gespeichert, sodass die gleichen EF-Befehle ihre Daten eher aus dem Cache abrufen, als die Datenbank erneut zu durchsuchen. Für EF Core 3-8.

GitHub-Repository | NuGet

EntityFrameworkCore.Scaffolding.Handlebars

Mit dieser Erweiterung können Klassen angepasst werden, die per Reverse Engineering mithilfe der Entity Framework Core-Toolkette mit Handlebars-Vorlagen aus einer vorhandenen Datenbank erstellt wurden. Für EF Core 2-8.

GitHub-Repository | NuGet

NeinLinq.EntityFrameworkCore

NeinLinq ist eine Erweiterung für LINQ-Anbieter wie Entity Framework, um Funktionen wiederverwenden zu können, Abfragen erneut schreiben zu können und dynamische Abfragen mithilfe von übersetzbaren Prädikaten und Selektoren erstellen zu können. Für EF Core: 2-7.

GitHub-Repository | NuGet

EFCore.BulkExtensions

EF Core-Erweiterungen für Massenvorgänge (Einfügen, Aktualisieren, Löschen) Für EF Core 2-8.

GitHub-Repository | NuGet

Bricelam.EntityFrameworkCore.Pluralizer

Diese Erweiterung fügt die Pluralisierung zur Entwurfszeit hinzu. Für EF Core 2-8.

GitHub-Repository | NuGet

Verify.EntityFramework

Erweitert das Überprüfen, um Momentaufnahmentests mit Entity Framework zuzulassen. Für EF Core 3-8.

GitHub-Repository | NuGet

LocalDb

Stellt einen Wrapper für SQL Server Express LocalDB bereit, um das Ausführen von Tests von Entity Framework zu vereinfachen. Für EF Core 3-8.

GitHub-Repository | NuGet

EntityFrameworkCore.Projectables

Flexible Projektionsfeatures für EF Core. Verwenden Sie Eigenschaften, Methoden und Erweiterungsmethoden in Ihrer Abfrage ohne Clientauswertung. Für EF Core 3–6.

GitHub-Repository | NuGet

EntityFrameworkCore.Triggered

Trigger für EF Core. Hiermit können Sie auf Änderungen an DbContext reagieren, bevor und nachdem sie in der Datenbank committet wurden. Trigger sind vollständig asynchron und unterstützen Dependency Injection, Vererbung, Kaskadierung und vieles mehr. Für EF Core 3–6.

GitHub-Repository | NuGet

Entity Framework Plus

Erweitert Ihren DbContext mit Features wie den folgenden: Include Filter, Auditing, Caching, Query Future, Batch Delete, Batch Update und vielen weiteren. Für EF Core 2-8.

Website | GitHub-Repository | NuGet

Entity Framework-Erweiterungen

Erweitert Ihren DbContext mit hochleistungsfähigen Massenvorgängen: BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge und vielen weiteren. Für EF Core 2-8.

Website | NuGet

Expressionify

Fügt Unterstützung für das Aufrufen von Erweiterungsmethoden in LINQ-Lambdas hinzu. Für EF Core 3–6.

GitHub-Repository | NuGet

EntityLinq

Alternative (nicht MS-basierte) LINQ-Technologie (Language Integrated Query) für relationale Datenbanken. Sie ermöglicht Ihnen, mit C# stark typisierte SQL-Abfragen zu schreiben. Für EF Core 3–6.

  • Volle Unterstützung von C# für das Erstellen von Abfragen: mehrere Anweisungen innerhalb von Lambdaausdrücken, Variablen, Funktionen usw.
  • Keine semantische Lücke zu SQL. EntityLinq deklariert SQL-Anweisungen (wie SELECT, FROM, WHERE) als erstklassige C#-Methoden, wobei die vertraute Syntax mit IntelliSense, Typsicherheit und Refactoring kombiniert wird.

Infolgedessen wird SQL einfach zu einer „weiteren“ Klassenbibliothek, die ihre API lokal verfügbar macht, wörtlich Sprachintegrierte SQL.

Website | NuGet

EFCore.NamingConventions

Hiermit wird automatisch snake_case-Schreibung, reine Großschreibung oder reine Kleinschreibung auf alle Tabellen- und Spaltennamen angewendet. Für EF Core 3-8.

GitHub-Repository | NuGet

EFCore.CheckConstraints

Mit diesem Plug-In können Sie sich für einige CHECK-Einschränkungen entscheiden. Aktivieren Sie es einfach, und die Einschränkungen werden automatisch für Sie erstellt. Für EF Core 5-8.

GitHub-Repository | NuGet

SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime

Fügt EntityFrameworkCore für SQL Server native Unterstützung für die NodaTime-Typen hinzu. Für EF Core 3-8.

GitHub-Repository | NuGet

EntityFrameworkCore.SqlServer.HierarchyId

Fügt dem SQL Server EF Core-Anbieter hierarchyid-Unterstützung hinzu. Für EF Core: 3-7.

GitHub-Repository | NuGet

linq2db.EntityFrameworkCore

Alternativer Übersetzer von LINQ-Abfragen an SQL-Ausdrücke Für EF Core 2-8.

Bietet Unterstützung für erweiterte SQL-Features wie CTEs, Massenkopiervorgänge, Tabellenhinweise, Fensterfunktionen, temporäre Tabellen und Erstell-, Update, und Löschvorgänge auf Datenbankseite

GitHub-Repository | NuGet

EFCore.SoftDelete

Eine-Implementierung für das vorläufige Löschen von Entitäten. Für EF Core 3–6.

GitHub-Repository | NuGet

EntityFrameworkCore.ConfigurationManager

Erweitert EF Core zum Auflösen von Verbindungszeichenfolgen aus „App.config“. Für EF Core 3-8.

GitHub-Repository | NuGet

Getrennter Mapper

Ein DTO-Entity-Mapper mit Kompositions-/Aggregationsverarbeitung (ähnlich wie GraphDiff). Für EF Core 3–6.

GitHub-Repository | NuGet

EntityFrameworkCore.Sqlite.NodaTime

Fügt Unterstützung für NodaTime-Typen hinzu, wenn SQLite verwendet wird. Für EF Core 5-8.

GitHub-Repository | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.Dacpac

Ermöglicht das Reverse Engineering eines EF Core-Modells aus einem SQL Server-Datenebenenanwendungspaket (dacpac). Für EF Core 6–8.

GitHub-Repository | NuGet

ErikEJ.EntityFrameworkCore.DgmlBuilder

Generieren Sie DGML-Inhalt (Graph), der Ihre DbContext-Instanz visualisiert. Fügt der DbContext-Klasse die AsDgml()-Erweiterungsmethode hinzu. Für EF Core 6–7.

GitHub-Repository | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery

Stellt die Methoden SqlQueryAsync<T> und SqlQueryValueAsync<T> bereit, mit denen Sie beliebige Klassen oder eine Liste primitiver Typen aus einer unformatierten SQL-Abfrage auffüllen können. Für EF Core 6–7.

GitHub-Repository | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly

Verwenden Sie die .NET-Typen DateOnly und TimeOnly mit dem SQL Server-Anbieter für EF Core. Für EF Core 6–7.

GitHub-Repository | NuGet

EntityFramework.Exceptions

Bei Verwendung von Entity Framework Core sind alle Datenbankausnahmen mit DbUpdateException umschlossen. EntityFramework.Exceptions verarbeitet alle datenbankspezifischen Details, um die Einschränkung zu finden, gegen die verstoßen wurde, und ermöglicht Ihnen die Verwendung von typisierten Ausnahmen wie UniqueConstraintException, CannotInsertNullException, MaxLengthExceededException, NumericOverflowException und ReferenceConstraintException, wenn Ihre Abfrage gegen Datenbankeinschränkungen verstößt.

Unterstützt SQL Server, Postgres, MySql, SQLite und Oracle. Für EF Core 3–6.

GitHub-Repository

EntityFrameworkCore.FSharp

Fügt EF Core F#-Unterstützung zur Entwurfszeit hinzu Für EF Core 5–6.

GitHub-Repository | NuGet

EntityFrameworkCore.VisualBasic

Fügt VB-Entwurfszeitunterstützung zu EF Core hinzu. Für EF Core 5-8.

GitHub-Repository | NuGet

Krzysztofz01.EFCore.QueryFilterBuilder

Erweiterung für Entity Framework, mit der Sie mehrere Abfragefilter erstellen und verwalten können. Für EF Core 5–7.

GitHub-Repository

Pagination.EntityFrameworkCore.Extensions

Dies ist eine Bibliothek für die Paginierung in EntityFrameworkCore. Sie kann gut mit Entity Framework Core als Erweiterung eingesetzt werden und unterstützt sowohl die asynchrone als auch die synchrone Variante. Zudem verfügt sie über viele nützliche Features, die insbesondere bei der Webentwicklung häufig verwendet werden. Für EF Core: 2-7.

GitHub-Repository | NuGet

Laraue.EfCoreTriggers

Fluent-API, um Trigger in Context.OnModelCreating zu deklarieren, die später in Migrationen integriert werden. Anbieter für Postgres, MySQL, SQL Server und SQLite. Für EF Core 5-8.

GitHub-Repository | NuGet

EntityCloner.Microsoft.EntityFrameworkCore

Zum Klonen von Entitäten mit der EF Core Konfiguration. Sie können mit der Include-Methode zugehörige Daten angeben, die geklont werden sollen. Für EF Core 5–7.

GitHub-Repository | NuGet

Zomp EF Core-Erweiterungen

Stellt Fenster- bzw. Analysefunktionen und binäre Funktionen für EF Core bereit. Anbieter: SQL Server, SQLite, PostgreSQL. Für EF Core 6–8.

GitHub-Repository | NuGet

Ainoraz.EFCore.IncludeBuilder

Erweiterung für EF Core, die alternative Include Syntax bereitstellt, um die folgenden Szenarien besser zu unterstützen:

  • Laden mehrerer Entitäten auf derselben Ebene (gleichgeordnete Elemente).
  • Schreiben von Erweiterungsmethoden, die unabhängig von der Schachtelungsebene sind.

Für EF Core 6–7.

GitHub-Repository | NuGet

Entity Framework Ruler

Fügt Entwurfszeitanpassungen des zurückentwickelten Modells hinzu, einschließlich:

  • Klassen-, Eigenschafts- und Navigationsnamen
  • Überspringen des Gerüstbaus von Schemas, Tabellen oder Spalten.
  • Überschreiben von Eigenschaftstypen, insbesondere für Enumerationen.
  • EF6 EDMX-Unterstützung, die einen reibungslosen 3-stufigen Upgradepfad von EF6 zu EF Core bietet.

Für EF Core 6–8.

GitHub-Repository | CLI-Tool: NuGet | Entwerfen von NuGet

LessCode.EFCore.StronglyTypedId

Ein Quellgenerator, der stark typisierte ID-Klassen automatisch für Entitäten generieren kann. Für EF Core:  7.

GitHub-Repository

Microsoft.EntityFrameworkCore.DynamicLinq

Mit der Dynamic LINQ-Bibliothek können Sie Abfragen mit dynamischer Zeichenfolge ausführen und einige Hilfsmethoden wie ParseLambda, Parse und CreateClass bereitstellen. Für EF Core 2-8.

Website | GitHub-Repository | NuGet

EfCoreNexus.Framework

Mit EfCoreNexus wird die Integration des Entitätsframeworks in Blazor-Apps unterstützt. Durch Spiegelung werden automatisch die Entitätsklassen hinzugefügt und ihnen grundlegende CRUD-Funktionen bereitgestellt, ohne zusätzlichen Code zu schreiben.

Für EF Core 8

GitHub-Repository | NuGet

API-Integrationen

Diese Pakete wurden für die direkte Integration in EF Core entworfen, um verschiedene APIs verfügbar zu machen.

HotChocolate

Erstellen Sie Ihren eigenen GraphQL-Endpunkt auf Grundlage einer beliebigen Ressource.

GitHub-Repository | NuGet

GraphQL.EntityFramework

Fügen Sie IQueryable-Unterstützung von Entity Framework zu GraphQL hinzu. Für EF Core 6–8.

GitHub-Repository | NuGet

EntityGraphQL

GraphQL-Server mit enger EntityFramework-Integration. Für EF Core 5–7.

GitHub-Repository | NuGet

OData

Ein Standard für die Implementierung von REST-APIs mit Spezifikationen für die Ermittlung, Filterung, Sortierung, Projektionen, Navigationen, Massenvorgänge und mehr.

GitHub-Repository | NuGet

Erweiterungen für nicht unterstützte EF Core-Versionen

nHydrate ORM für Entity Framework

Ein O/RM, der stark typisierte, erweiterbare Klassen für Entity Framework erstellt. Der generierte Code ist Entity Framework Core. Es besteht kein Unterschied. Dies ist kein Ersatz für EF oder einen benutzerdefinierten O/RM. Dabei handelt es sich um eine visuelle, Modellierungsebene, die einem Team ermöglicht, komplexe Datenbankschemas zu verwalten. Dies funktioniert gut mit SCM-Software wie Git, sodass mehrere Benutzer mit minimalen Konflikten auf Ihr Modell zugreifen können. Das Installationsprogramm verfolgt Modelländerungen und erstellt Upgradeskripts. Für EF Core: 3.

GitHub-Repository

Microsoft.EntityFrameworkCore.UnitOfWork

Ein Plug-In für Microsoft.EntityFrameworkCore zur Unterstützung von Repositorys, Arbeitseinheitsmustern und mehreren Datenbanken, die verteilte Transaktionen unterstützen. Für EF Core 2–3.

GitHub-Repository

Toolbelt.EntityFrameworkCore.IndexAttribute

Über diese Erweiterung ist das [Index]-Attribut mit der Erweiterung für die Modellerstellung wieder verfügbar. Für EF Core 2–5.

GitHub-Repository | NuGet

EfCoreTemporalTable

Hinweis

Temporäre SQL Server-Tabellen werden in ab EF Core 6 direkt in EF Core unterstützt.

Mit dieser Erweiterung können Sie mithilfe bereits eingeführter Erweiterungsmethoden temporale Abfragen für eine Datenbank Ihrer Wahl ausführen: AsTemporalAll(), AsTemporalAsOf(date), AsTemporalFrom(startDate, endDate), AsTemporalBetween(startDate, endDate), AsTemporalContained(startDate, endDate). Für EF Core 3–5.

GitHub-Repository | NuGet

EntityFrameworkCore.TemporalTables

Hinweis

Temporäre SQL Server-Tabellen werden in ab EF Core 6 direkt in EF Core unterstützt.

Eine Erweiterungsbibliothek für Entity Framework Core, mit der Entwickler, die SQL Server nutzen, temporale Tabellen einfach verwenden können. Für EF Core 2–5.

GitHub-Repository | NuGet

Dabble.EntityFrameworkCore.Temporal.Query

Hinweis

Temporäre SQL Server-Tabellen werden in ab EF Core 6 direkt in EF Core unterstützt.

LINQ-Erweiterungen für Entity Framework Core 3.1 zur Unterstützung von Abfragen temporaler Tabellen in Microsoft SQL Server. Für EF Core: 3.

GitHub-Repository | NuGet

EntityFrameworkCore.NCache

Der NCache-Anbieter von Entity Framework Core ist ein verteilter Cacheanbieter der zweiten Ebene zum Zwischenspeichern von Abfrageergebnissen. Die verteilte Architektur von NCache macht den Anbieter skalierbarer und hochverfügbar. Für EF Core 2–3.

Website | NuGet

Ramses

Lebenszyklushooks (für SaveChanges). Für EF Core 2–3.

GitHub-Repository | NuGet