API de plug-in

Les extensions EF Core nécessitent souvent l’ajout d’une logique aux composants EF et fournisseurs principaux. Cela nécessite généralement la création d’un composant dérivé et le remplacement de celui d’origine dans le fournisseur de services interne. Cela se complique lorsque plusieurs extensions souhaitent modifier le même composant. Dans ces cas, nous fournissons des API de plug-in pour permettre à plusieurs extensions de fournir une logique supplémentaire.

Liste des services

Voici une liste d’API de plug-in.

Service Description
ITypeMappingSourcePlugin Ajoute des mappages entre les types .NET et les types primitifs de stockage.
IRelationalTypeMappingSourcePlugin Ajoute des mappages entre les types .NET et les types de base de données relationnelle primitives.
IConventionSetPlugin Ajoute des conventions de génération de modèles.
IMemberTranslatorPlugin Ajoute des traductions SQL pour les propriétés .NET.
IMethodCallTranslatorPlugin Ajoute des traductions SQL pour les méthodes .NET.
IAggregateMethodCallTranslatorPlugin Ajoute des traductions SQL pour les méthodes énumérables .NET.
IEvaluatableExpressionFilterPlugin Forcer l’évaluation par le serveur de certaines expressions.
IProviderCodeGeneratorPlugin Fournisseur de scaffolds et options DbContext.

Exemples

Voici quelques extensions qui utilisent ces API :

Extension Description
Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite Ajoute des mappages de types et des traductions SQL pour les types SpatiaLite.
Microsoft.EntityFrameworkCore.SqlServer.HierarchyId Ajoute des mappages de types et des traductions SQL pour le type hierarchyid de SQL Server.
Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite Ajoute des mappages de types et des traductions SQL pour les types geography et geometry de SQL Server.
EFCore.CheckConstraints Ajoute des conventions de génération de modèles pour les contraintes de vérification de base de données relationnelle.
EFCore.NamingConventions Ajoute des conventions de génération de modèles pour d’autres noms de table de base de données relationnelle, de colonne et de contrainte.