Outils et extensions EF Core

Ces outils et extensions fournissent des fonctionnalités supplémentaires pour Entity Framework Core.

Important

Les extensions sont générées par des sources diverses et ne sont pas gérées dans le cadre du projet Entity Framework Core. Quand vous envisagez une extension tierce, veillez à évaluer ses caractéristiques, notamment en termes de qualité, de gestion des licences, de compatibilité et de prise en charge, pour vérifier qu’elle répond à vos besoins. En particulier, une extension créée pour une version antérieure d’EF Core peut nécessiter une mise à jour avant de fonctionner avec les versions les plus récentes.

outils

EF Core Power Tools

EF Core Power Tools est une extension Visual Studio qui expose différentes tâches EF Core au moment du design dans une interface utilisateur simple. Elle inclut l’ingénierie à rebours des classes DbContext et d’entité à partir de bases de données existantes et des packages DAC SQL Server, la gestion des migrations de base de données et les visualisations de modèles. Pour EF Core : 6-8.

Wiki GitHub

EF Core Power Tools CLI

EF Core Power Tools CLI est un outil en ligne de commande global .NET. Il propose une ingénierie à rebours avancée des classes DbContext et d’entité à partir de bases de données et de DACPAC SQL Server existants. Pour EF Core : 6-8.

Fichier Readme de GitHub

LLBLGen Pro

LLBLGen Pro est une solution de modélisation d’entités qui prend en charge Entity Framework et Entity Framework Core. Il vous permet de définir facilement votre modèle d’entités et de le mapper à votre base de données, en utilisant Database First ou Model First : vous pouvez donc commencer à écrire des requêtes immédiatement. Pour EF Core : 2-8.

Site web

Devart Entity Developer

Entity Developer est un concepteur O/RM puissant pour ADO.NET Entity Framework, NHibernate, LinqConnect, Telerik Data Access et LINQ to SQL. Il prend en charge la conception visuelle de modèles EF Core, selon une approche Model First ou Database First, et la génération de code C# ou Visual Basic. Pour EF Core : 2-7.

Site web

DevMagic EF Core Sidekick

EF Core Sidekick est une extension Visual Studio qui améliore la puissance de la génération de code automatique dans Visual Studio. Il fournit un ensemble d’outils et de modèles permettant de générer des entités EF Core et des instances DbContext dérivées depuis une base de données existante, puis de générer des services et des API REST à partir des entités. Pour EF Core : 6-7.

Visual Studio Marketplace | Site web

Entity Framework Visual Editor

Entity Framework Visual Editor est une extension de Visual Studio qui ajoute un concepteur O/RM permettant de concevoir visuellement des classes EF 6 et EF Core. Le code étant généré à l’aide de modèles T4, il peut être personnalisé pour répondre à tous les besoins. Il prend en charge les associations d’héritage, unidirectionnelles et bidirectionnelles, les énumérations ainsi que la possibilité de colorer le code de vos classes et d’ajouter des blocs de texte pour expliquer les parties potentiellement obscures de votre conception. Pour EF Core : 2-8.

Visual Studio Marketplace

IWAPI

IWAPI (API web instantanée) est un moteur de génération automatique pour .NET Core qui permet d’automatiser la génération de modèles, d’entités, de classes DbContext et qui crée une API web opérationnelle à partir de n’importe quelle base de données SQL Server.

Site web

efmig

efmig est une application d’interface graphique utilisateur multiplateforme qui accélère le développement quotidien quand vous utilisez Entity Framework Core. Elle couvre les cas d’usage les plus populaires, comme le code de migration et la génération de script avec une interface simple en un clic. Pour EF Core : 2-8.

Référentiel GitHub

EFCore.Visualizer

Avec le visualiseur du débogueur du plan de requête Entity Framework Core, vous pouvez afficher le plan de requête de vos requêtes directement au sein de Visual Studio. Pour le moment, le visualiseur prend en charge SQL Server et PostgreSQL. Pour EF Core 7-8.

Visual Studio Marketplace

Extensions

Microsoft.EntityFrameworkCore.AutoHistory

Bibliothèque de plug-ins qui permet l’enregistrement automatique des changements de données effectués par EF Core dans une table d’historique. Pour EF Core : 2-6.

Référentiel GitHub | NuGet

EFCoreSecondLevelCacheInterceptor

La mise en cache de second niveau est un cache de requêtes. Les résultats des commandes EF sont stockés dans le cache, de façon que les mêmes commandes EF récupèrent leurs données auprès du cache au lieu d’être réexécutées sur la base de données. Pour EF Core : 3-8.

Référentiel GitHub | NuGet

EntityFrameworkCore.Scaffolding.Handlebars

Permet de personnaliser des classes ayant fait l’objet d’une ingénierie à rebours à partir d’une base de données existante à l’aide de la chaîne d’outils Entity Framework Core avec des modèles Handlebars. Pour EF Core : 2-8.

Référentiel GitHub | NuGet

NeinLinq.EntityFrameworkCore

NeinLinq étend les fonctionnalités des fournisseurs LINQ comme Entity Framework pour permettre la réutilisation de fonctions, la réécriture des requêtes et la génération de requêtes dynamiques à l’aide de sélecteurs et de prédicats traduisibles. Pour EF Core : 2-7.

Référentiel GitHub | NuGet

EFCore.BulkExtensions

Extensions EF Core pour les opérations en bloc (Insert, Update, Delete). Pour EF Core : 2-8.

Référentiel GitHub | NuGet

Bricelam.EntityFrameworkCore.Pluralizer

Ajoute la pluralisation au moment du design. Pour EF Core : 2-8.

Référentiel GitHub | NuGet

Verify.EntityFramework

Étend Vérifier pour autoriser les tests d’instantanés avec Entity Framework. Pour EF Core : 3-8.

Référentiel GitHub | NuGet

LocalDb

Fournit un wrapper autour de SQL Server Express LocalDB pour simplifier l’exécution de tests sur Entity Framework. Pour EF Core : 3-8.

Référentiel GitHub | NuGet

EntityFrameworkCore.Projectables

Commande magic de projection flexible pour EF Core. Utilisez des propriétés, des méthodes et des méthodes d’extension dans votre requête sans évaluation du client. Pour EF Core : 3-6.

Référentiel GitHub | NuGet

EntityFrameworkCore.Triggered

Déclencheurs pour EF Core. Répondez aux modifications dans DbContext avant et après la validation dans la base de données. Les déclencheurs sont entièrement asynchrones. Ils prennent en charge l’injection de dépendances, l’héritage, les cascades, etc. Pour EF Core : 3-6.

Référentiel GitHub | NuGet

Entity Framework Plus

Étend votre instance DbContext avec des fonctionnalités telles que : Inclure un filtre, Audit, Mise en cache, Requête ultérieure, Suppression par lot, Mise à jour par lot et plus encore. Pour EF Core : 2-8.

Site web | Dépôt GitHub | NuGet

Extensions d’Entity Framework

Étend votre instance DbContext avec des opérations en bloc hautes performances : BulkSaveChanges, BulkInsert, BulkUpdate, BulkDelete, BulkMerge, etc. Pour EF Core : 2-8.

Site web | NuGet

Expressionify

Ajoutez la prise en charge de l’appel des méthodes d’extension dans les expressions lambda LINQ. Pour EF Core : 3-6.

Référentiel GitHub | NuGet

EntityLinq

Alternative (non MS) Technologie LINQ (Language Integrated Query) pour les bases de données relationnelles. Elle vous permet d’utiliser C# pour écrire des requêtes SQL fortement typées. Pour EF Core : 3-6.

  • Prise en charge complète de C# pour la création de requêtes : plusieurs instructions dans une expression lambda, variables, fonctions, et ainsi de suite
  • Aucun écart sémantique avec SQL. EntityLinq déclare les instructions SQL (comme SELECT, FROM et WHERE) en tant que méthodes C# de première classe, combinant la syntaxe familière avec IntelliSense, la cohérence des types et la refactorisation.

Ainsi, SQL devient simplement « une autre » bibliothèque de classes qui expose son API localement, littéralement « Language Integrated SQL ».

Site web | NuGet

EFCore.NamingConventions

Tous les noms de table et de colonne deviennent automatiquement snake_case, tout en MAJUSCULES ou tout en minuscules. Pour EF Core : 3-8.

Référentiel GitHub | NuGet

EFCore.CheckConstraints

Ce plug-in vous permet d’activer certaines contraintes de vérification. Il suffit de l’activer pour les créer automatiquement. Pour EF Core : 5-8.

Référentiel GitHub | NuGet

SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime

Ajoute une prise en charge native à EntityFrameworkCore pour SQL Server pour les types NodaTime. Pour EF Core : 3-8.

Référentiel GitHub | NuGet

EntityFrameworkCore.SqlServer.HierarchyId

Ajoute la prise en charge de hierarchyid au fournisseur SQL Server EF Core. Pour EF Core : 3-7.

Référentiel GitHub | NuGet

linq2db.EntityFrameworkCore

Autre traducteur de requêtes LINQ pour les expressions SQL. Pour EF Core : 2-8.

Prend en charge les fonctionnalités SQL avancées, telles que les CTE, la copie en bloc, les indicateurs de table, les fonctions de fenêtrage, les tables temporaires et les opérations de création/mise à jour/suppression côté base de données.

Référentiel GitHub | NuGet

EFCore.SoftDelete

Implémentation pour la suppression réversible d’entités. Pour EF Core : 3-6.

Référentiel GitHub | NuGet

EntityFrameworkCore.ConfigurationManager

Étend EF Core pour résoudre les chaînes de connexion à partir d’App.config. Pour EF Core : 3-8.

Référentiel GitHub | NuGet

Mappeur détaché

Mappeur DTO-Entity avec gestion de composition/agrégation (similaire à GraphDiff). Pour EF Core : 3-6.

Référentiel GitHub | NuGet

EntityFrameworkCore.Sqlite.NodaTime

Ajoute la prise en charge des types NodaTime lors de l’utilisation de SQLite. Pour EF Core : 5-8.

Référentiel GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.Dacpac

Active l’ingénierie à rebours d’un modèle EF Core à partir d’un package d’application de la couche Données SQL Server (.dacpac). Pour EF Core : 6-8.

Référentiel GitHub | NuGet

ErikEJ.EntityFrameworkCore.DgmlBuilder

Générez le contenu DGML (Graph) qui permet de visualiser votre DbContext. Ajoute la méthode d’extension AsDgml() à la classe DbContext. Pour EF Core : 6-7.

Référentiel GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery

Fournit les méthodes SqlQueryAsync<T> et SqlQueryValueAsync<T> permettant de remplir des classes arbitraires ou une liste de types primitifs à partir d’une requête SQL brute. Pour EF Core : 6-7.

Référentiel GitHub | NuGet

ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly

Utilisez les types .NET DateOnly et TimeOnly avec le fournisseur EF Core SQL Server. Pour EF Core : 6-7.

Référentiel GitHub | NuGet

EntityFramework.Exceptions

Quand vous utilisez Entity Framework Core, toutes les exceptions de base de données sont enveloppées dans DbUpdateException. EntityFramework.Exceptions gère tous les détails spécifiques à la base de données pour rechercher quelle contrainte a été enfreinte et vous permet d’utiliser des exceptions typées comme UniqueConstraintException, CannotInsertNullException, MaxLengthExceededException, NumericOverflowException, ReferenceConstraintException quand votre requête enfreint les contraintes de base de données.

Prend en charge SQL Server, Postgres, MySql, SQLite et Oracle. Pour EF Core : 3-6.

Référentiel GitHub

EntityFrameworkCore.FSharp

Ajoute la prise en charge de F# au moment de la conception à EF Core. Pour EF Core : 5-6.

Référentiel GitHub | NuGet

EntityFrameworkCore.VisualBasic

Ajoute la prise en charge de VB au moment de la conception à EF Core. Pour EF Core : 5-8.

Référentiel GitHub | NuGet

Krzysztofz01.EFCore.QueryFilterBuilder

Extension pour Entity Framework qui permet de créer et de gérer plusieurs filtres de requête. Pour EF Core : 5-7.

Référentiel GitHub

Pagination.EntityFrameworkCore.Extensions

Il s’agit d’une bibliothèque pour Pagination sur EntityFrameworkCore. Fonctionne correctement avec Entity Framework Core en tant qu’extension et prend en charge à la fois les méthodes asynchrone et synchrone. Elle offre également de nombreuses fonctionnalités utiles couramment utilisées sur le développement web. Pour EF Core : 2-7.

Référentiel GitHub | NuGet

Laraue.EfCoreTriggers

API Fluent pour déclarer des déclencheurs dans Context.OnModelCreating qui sont intégrés ultérieurement dans les migrations. Fournisseurs sur Postgres, MySQL, SQL Server et SQLite. Pour EF Core : 5-8.

Référentiel GitHub | NuGet

EntityCloner.Microsoft.EntityFrameworkCore

Clonage d’entités à l’aide de la configuration d’EF Core. Vous pouvez utiliser la méthode Include pour spécifier les données associées à cloner. Pour EF Core : 5-7.

Référentiel GitHub | NuGet

Extensions EF Core Zomp

Fournit des fonctions de fenêtre (analytique) et des fonctions binaires pour EF Core. Fournisseurs : SQL Server, SQLite, PostgreSQL. Pour EF Core : 6-8.

Référentiel GitHub | NuGet

Ainoraz.EFCore.IncludeBuilder

Extension pour EF Core qui fournit une syntaxe Include alternative afin de mieux prendre en charge les scénarios suivants :

  • Chargement de plusieurs entités au même niveau (frères).
  • Écriture de méthodes d’extension indépendantes du niveau d’imbrication.

Pour EF Core : 6-7.

Référentiel GitHub | NuGet

Entity Framework Ruler

Ajoute la personnalisation au moment du design du modèle rétroconçu, notamment :

  • Noms de classe, de propriété et de navigation
  • Structure ignorée des schémas, tables ou colonnes.
  • Substitution des types de propriétés, en particulier pour les enums.
  • Prise en charge d’EF6 EDMX en fournissant un chemin de mise à niveau en 3 étapes fluide d’EF6 vers EF Core.

Pour EF Core : 6-8.

Dépôt GitHub | CLI Tool NuGet | Design NuGet

LessCode.EFCore.StronglyTypedId

Générateur source qui peut générer automatiquement des classes id fortement typées pour les entités. Pour EF Core : 7.

Référentiel GitHub

Microsoft.EntityFrameworkCore.DynamicLinq

La bibliothèque Dynamic LINQ vous permet d’exécuter une requête avec une chaîne dynamique et de fournir des méthodes utilitaires telles que ParseLambda, Parse et CreateClass. Pour EF Core : 2-8.

Site web | Dépôt GitHub | NuGet

EfCoreNexus.Framework

EfCoreNexus permet d’intégrer Entity Framework Core aux applications Blazor. Il ajoute automatiquement les classes d’entité par réflexion et fournit des fonctionnalités CRUD de base sans nécessiter l’écriture de code supplémentaire.

Pour EF Core : 8.

Référentiel GitHub | NuGet

Intégrations d’API

Ces packages sont conçus pour s’intégrer directement à EF Core afin d’exposer différentes API.

HotChocolate

Créez votre propre point de terminaison GraphQL sur n’importe quelle ressource.

Référentiel GitHub | NuGet

GraphQL.EntityFramework

Ajoutez la prise en charge d’Entity Framework IQueryable à GraphQL. Pour EF Core : 6-8.

Référentiel GitHub | NuGet

EntityGraphQL

Serveur GraphQL avec intégration étroite d’EntityFramework. Pour EF Core : 5-7.

Référentiel GitHub | NuGet

OData

Norme d’implémentation des API REST avec des spécifications pour la découverte, le filtrage, le tri, les projections, les navigations, les opérations en bloc, etc.

Référentiel GitHub | NuGet

Extensions pour les versions EF Core non prises en charge

nHydrate ORM pour Entity Framework

O/RM qui crée des classes fortement typées et extensibles pour Entity Framework. Le code généré est Entity Framework Core. Il n’y a aucune différence. Il ne s’agit pas d’un remplacement d’EF ni d’un O/RM personnalisé. Il s’agit d’une couche de modélisation visuelle qui permet à une équipe de gérer des schémas de base de données complexes. Il convient aux logiciels SCM tels que Git, permettant à plusieurs utilisateurs d’accéder à votre modèle avec un minimum de conflits. Le programme d’installation effectue le suivi des modifications du modèle et crée des scripts de mise à niveau. Pour EF Core : 3.

Dépôt GitHub

Microsoft.EntityFrameworkCore.UnitOfWork

Plug-in pour Microsoft.EntityFrameworkCore prenant en charge un dépôt, les modèles d’unités de travail et les bases de données multiples avec des transactions distribuées. Pour EF Core : 2-3.

Référentiel GitHub

Toolbelt.EntityFrameworkCore.IndexAttribute

Reprise de l’attribut [Index] (avec extension pour la création de modèles). Pour EF Core : 2-5.

Référentiel GitHub | NuGet

EfCoreTemporalTable

Remarque

Les tables temporelles SQL Server sont prises en charge directement dans EF Core à partir de EF Core 6.

Exécutez facilement des requêtes temporelles sur votre base de données favorite à l’aide des méthodes d’extension introduites : AsTemporalAll(), AsTemporalAsOf(date), AsTemporalFrom(startDate, endDate), AsTemporalBetween(startDate, endDate), AsTemporalContained(startDate, endDate). Pour EF Core : 3-5.

Référentiel GitHub | NuGet

EntityFrameworkCore. TemporalTables

Remarque

Les tables temporelles SQL Server sont prises en charge directement dans EF Core à partir de EF Core 6.

Bibliothèque d’extensions pour Entity Framework Core qui permet aux développeurs qui utilisent SQL Server de se servir facilement des tables temporelles. Pour EF Core : 2-5.

Référentiel GitHub | NuGet

Dabble.EntityFrameworkCore.Temporal.Query

Remarque

Les tables temporelles SQL Server sont prises en charge directement dans EF Core à partir de EF Core 6.

Extensions LINQ à Entity Framework Core 3.1 pour prendre en charge l’interrogation des tables temporelles Microsoft SQL Server. Pour EF Core : 3.

Référentiel GitHub | NuGet

EntityFrameworkCore.NCache

Le fournisseur d’Entity Framework Core NCache est un fournisseur de cache de second niveau distribué pour la mise en cache des résultats de requêtes. L’architecture distribuée de NCache la rend plus évolutive et hautement disponible. Pour EF Core : 2-3.

Site web | NuGet

Ramses

Hooks de cycle de vie (pour SaveChanges). Pour EF Core : 2-3.

Référentiel GitHub | NuGet