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. Cela inclut l’ingénierie à rebours de DbContext et de classes d’entités à partir de bases de données existantes et de DACPAC SQL Server, ainsi que des visualisations et des diagrammes de modèles. Pour EF Core : 6-9.
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-9.
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.
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.
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-8.
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.
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.
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.
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.
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.
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.
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.
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 : 3-8.
EFCore.BulkExtensions
Extensions EF Core pour les opérations en bloc (Insert, Update, Delete). Pour EF Core : 2-8.
Bricelam.EntityFrameworkCore.Pluralizer
Ajoute la pluralisation au moment du design. Pour EF Core : 2-9.
Verify.EntityFramework
Étend Vérifier pour autoriser les tests d’instantanés avec Entity Framework. Pour EF Core : 3-8.
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.
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, 8.
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.
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-9.
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-9.
Expressionify
Ajoutez la prise en charge de l’appel des méthodes d’extension dans les expressions lambda LINQ. Pour EF Core : 3-6.
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-8.
- 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
etWHERE
) 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 ».
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.
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-9.
SimplerSoftware.EntityFrameworkCore.SqlServer.NodaTime
Ajoute une prise en charge native à EntityFrameworkCore pour SQL Server pour les types NodaTime. Pour EF Core : 3-9.
EntityFrameworkCore.SqlServer.HierarchyId
Remarque
Le type de données hierarchyid SQL Server est pris en charge directement dans EF Core à partir d’EF Core 8.
Ajoute la prise en charge de hierarchyid au fournisseur SQL Server EF Core. Pour EF Core : 3-7.
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.
EFCore.SoftDelete
Implémentation pour la suppression réversible d’entités. Pour EF Core : 3-6.
EntityFrameworkCore.ConfigurationManager
Étend EF Core pour résoudre les chaîne de connexion à partir d’App.config. Pour EF Core : 3-9.
Mappeur détaché
Mappeur DTO-Entity avec gestion de composition/agrégation (similaire à GraphDiff). Pour EF Core : 3-8.
EntityFrameworkCore.Sqlite.NodaTime
Ajoute la prise en charge des types NodaTime lors de l’utilisation de SQLite. Pour EF Core : 5-8.
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-9.
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-9.
ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery
Remarque
Les requêtes SQL brutes sur les types non mappés sont prises en charge directement dans EF Core à partir d’EF Core 8.
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.
ErikEJ.EntityFrameworkCore.SqlServer.DateOnlyTimeOnly
Remarque
SQL Server DateOnly
et TimeOnly
le mappage sont pris en charge directement dans EF Core à partir d’EF Core 8.
Utilisez les types .NET DateOnly
et TimeOnly
avec le fournisseur EF Core SQL Server. Pour EF Core : 6-7.
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-8.
EntityFrameworkCore.FSharp
Ajoute la prise en charge de F# au moment de la conception à EF Core. Pour EF Core : 5-6.
EntityFrameworkCore.VisualBasic
Ajoute la prise en charge de VB au moment de la conception à EF Core. Pour EF Core : 5-8.
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.
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.
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.
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-8.
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.
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.
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.
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-9.
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.
Reconciler
Met à jour un graphe d’entité du magasin avec un graphe donné en insérant, mettant à jour et supprimant les entités respectives. Pour EF Core : 6-7.
AutoCompute
Propriétés calculées persistantes dans EF Core qui sont mises à jour automatiquement lors de l’enregistrement des modifications. Pour EF Core : 8.
Intégrations d’API
Ces packages sont conçus pour s’intégrer directement à EF Core afin d’exposer différentes API.
.NET Aspire
Améliorez l’expérience de développement local en simplifiant la gestion de la configuration et des interconnexions de votre application native cloud. Pour EF Core : 8.
Site web | Dépôt GitHub | NuGet
HotChocolate
Créez votre propre point de terminaison GraphQL sur n’importe quelle ressource.
GraphQL.EntityFramework
Ajoutez la prise en charge d’Entity Framework IQueryable
à GraphQL. Pour EF Core : 6-8.
EntityGraphQL
Serveur GraphQL avec intégration étroite d’EntityFramework. Pour EF Core : 5-8.
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.
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.
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.
Toolbelt.EntityFrameworkCore.IndexAttribute
Reprise de l’attribut [Index] (avec extension pour la création de modèles). Pour EF Core : 2-5.
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.
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.
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.
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.
Ramses
Hooks de cycle de vie (pour SaveChanges). Pour EF Core : 2-3.