Plugin delle API

Le estensioni di EF Core spesso richiedono l'aggiunta di logica ai componenti core di Entity Framework e provider. Ciò richiede in genere la creazione di un componente derivato e la sostituzione di quella originale nel provider di servizi interno. Ciò si complica quando più estensioni vogliono modificare lo stesso componente. In questi casi, vengono fornite API plug-in per consentire a più estensioni di fornire logica aggiuntiva.

Elenco dei servizi

Di seguito è riportato un elenco di API plug-in.

Service Descrizione
ITypeMappingSourcePlugin Aggiunge mapping tra tipi .NET e tipi di archivio primitivi.
IRelationalTypeMappingSourcePlugin Aggiunge mapping tra tipi .NET e tipi di database relazionali primitivi.
IConventionSetPlugin Aggiunge convenzioni di compilazione di modelli.
IMemberTranslatorPlugin Aggiunge traduzioni SQL per le proprietà .NET.
IMethodCallTranslatorPlugin Aggiunge traduzioni SQL per i metodi .NET.
IAggregateMethodCallTranslatorPlugin Aggiunge traduzioni SQL per metodi enumerabili .NET.
IEvaluatableExpressionFilterPlugin Forza la valutazione sul server di determinate espressioni.
IProviderCodeGeneratorPlugin Provider di scaffolds e opzioni per DbContext.

Examples

Ecco alcune estensioni che usano queste API:

Extension Descrizione
Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite Aggiunge le mappature dei tipi e le traduzioni SQL per i tipi di SpatiaLite.
Microsoft.EntityFrameworkCore.SqlServer.HierarchyId Aggiunge le mappature dei tipi e le traduzioni SQL per il tipo hierarchyid di SQL Server.
Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite Aggiunge mapping di tipo e traduzioni SQL per i tipi geography e geometry di SQL Server.
EFCore.CheckConstraints Aggiunge convenzioni di compilazione di modelli per i vincoli check del database relazionale.
EFCore.NamingConventions Aggiunge convenzioni di compilazione di modelli per nomi alternativi di tabelle di database relazionali, colonne e vincoli.