Rozhraní API pluginu

Rozšíření EF Core často vyžadují přidání logiky do základních komponent EF a zprostředkovatelů. Obvykle to vyžaduje vytvoření odvozené komponenty a nahrazení původní součásti v interním poskytovateli služeb. To se zkomplikuje, když více rozšíření chce změnit stejnou komponentu. V těchto případech poskytujeme rozhraní API modulů plug-in, která umožňují více rozšířením poskytovat další logiku.

Seznam služeb

Následuje seznam API pluginů.

Service Description
ITypeMappingSourcePlugin Přidá mapování mezi typy .NET a primitivními typy úložiště.
IRelationalTypeMappingSourcePlugin Přidá mapování mezi typy .NET a primitivními typy relačních databází.
IConventionSetPlugin Přidá standardy vytváření modelů.
IMemberTranslatorPlugin Přidá překlady SQL pro vlastnosti .NET.
IMethodCallTranslatorPlugin Přidá překlady SQL pro metody .NET.
IAggregateMethodCallTranslatorPlugin Přidá překlady SQL pro výčtové metody .NET.
IEvaluatableExpressionFilterPlugin Vynutí serverovou evaluaci některých výrazů.
IProviderCodeGeneratorPlugin Poskytovatel scaffoldingu a možnosti DbContext

Příklady

Tady je několik rozšíření, která využívají tato rozhraní API:

Rozšíření Description
Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite Přidá mapování typů a překlady SQL pro typy SpatiaLite.
Microsoft.EntityFrameworkCore.SqlServer.HierarchyId Přidá mapování typů a překlady SQL pro typ hierarchyid v SQL Serveru.
Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite Přidá mapování typů a překlady SQL pro typy geografie a geometrie SQL Serveru.
EFCore.CheckConstraints Přidá zásady vytváření modelů pro kontrolní omezení relačních databází.
EFCore.NamingConventions Přidá konvence vytváření modelů pro alternativní názvy tabulek, sloupců a omezení relační databáze.