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 sowie Modellvisualisierungen und -diagramme ermöglicht. Für EF Core: 6–9.
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–9.
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.
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.
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–8.
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.
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.
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.
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.
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.
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.
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.
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 3-8.
EFCore.BulkExtensions
EF Core-Erweiterungen für Massenvorgänge (Einfügen, Aktualisieren, Löschen) Für EF Core 2-8.
Bricelam.EntityFrameworkCore.Pluralizer
Diese Erweiterung fügt die Pluralisierung zur Entwurfszeit hinzu. Für EF Core: 2-9.
Verify.EntityFramework
Erweitert das Überprüfen, um Momentaufnahmentests mit Entity Framework zuzulassen. Für EF Core 3-8.
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.
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, 8.
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.
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-9.
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-9.
Expressionify
Fügt Unterstützung für das Aufrufen von Erweiterungsmethoden in LINQ-Lambdas hinzu. Für EF Core 3–6.
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-8.
- 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.
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.
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-9.
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-9.
EntityFrameworkCore.SqlServer.HierarchyId
Hinweis
Der Datentyp hierarchyid für SQL Server wird ab EF Core 8 direkt in EF Core unterstützt.
Fügt dem SQL Server EF Core-Anbieter hierarchyid-Unterstützung hinzu. Für EF Core: 3-7.
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
EFCore.SoftDelete
Eine-Implementierung für das vorläufige Löschen von Entitäten. Für EF Core 3–6.
EntityFrameworkCore.ConfigurationManager
Erweitert EF Core, um Verbindungszeichenfolge aus "App.config" aufzulösen. Für EF Core: 3-9.
Getrennter Mapper
Ein DTO-Entity-Mapper mit Kompositions-/Aggregationsverarbeitung (ähnlich wie GraphDiff). Für EF Core 3-8.
EntityFrameworkCore.Sqlite.NodaTime
Fügt Unterstützung für NodaTime-Typen hinzu, wenn SQLite verwendet wird. Für EF Core 5-8.
ErikEJ.EntityFrameworkCore.SqlServer.Dacpac
Ermöglicht das Reverse Engineering eines EF Core-Modells aus einem SQL Server-Datenebenenanwendungspaket (dacpac). Für EF Core: 6–9.
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–9.
ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery
Hinweis
Unformatierte SQL-Abfragen für nicht zugeordnete Typen werden ab EF Core 8 direkt in EF Core unterstützt.
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.
ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly
Hinweis
Die SQL Server-Zuordnungen DateOnly
und TimeOnly
werden ab EF Core 8 direkt in EF Core unterstützt.
Verwenden Sie die .NET-Typen DateOnly
und TimeOnly
mit dem SQL Server-Anbieter für EF Core. Für EF Core 6–7.
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-8.
EntityFrameworkCore.FSharp
Fügt EF Core F#-Unterstützung zur Entwurfszeit hinzu Für EF Core 5–6.
EntityFrameworkCore.VisualBasic
Fügt VB-Entwurfszeitunterstützung zu EF Core hinzu. Für EF Core 5-8.
Krzysztofz01.EFCore.QueryFilterBuilder
Erweiterung für Entity Framework, mit der Sie mehrere Abfragefilter erstellen und verwalten können. Für EF Core 5–7.
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.
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.
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-8.
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.
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.
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.
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-9.
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
Synchronisierung
Aktualisieren Sie ein Entitätsdiagramm im Speicher, indem Sie die entsprechenden Entitäten einfügen, aktualisieren oder entfernen. Für EF Core 6–7.
AutoCompute
Die berechneten Eigenschaften in EF Core wurden gespeichert und werden beim Speichern von Änderungen automatisch aktualisiert. Für EF Core 8
API-Integrationen
Diese Pakete wurden für die direkte Integration in EF Core entworfen, um verschiedene APIs verfügbar zu machen.
.NET Aspire
Verbessern Sie die lokale Entwicklungserfahrung, indem Sie die Verwaltung der Konfiguration und Verbindung Ihrer cloudnativen App vereinfachen. Für EF Core 8
Website | GitHub-Repository | NuGet
HotChocolate
Erstellen Sie Ihren eigenen GraphQL-Endpunkt auf Grundlage einer beliebigen Ressource.
GraphQL.EntityFramework
Fügen Sie IQueryable
-Unterstützung von Entity Framework zu GraphQL hinzu. Für EF Core 6–8.
EntityGraphQL
GraphQL-Server mit enger EntityFramework-Integration. Für EF Core 5-8.
OData
Ein Standard für die Implementierung von REST-APIs mit Spezifikationen für die Ermittlung, Filterung, Sortierung, Projektionen, Navigationen, Massenvorgänge und mehr.
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.
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.
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.
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.
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.
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.
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.
Ramses
Lebenszyklushooks (für SaveChanges). Für EF Core 2–3.