プラグイン API

EF Core 拡張機能では、多くの場合、コア EF およびプロバイダー コンポーネントにロジックを追加する必要があります。 これには通常、派生コンポーネントを作成し、内部サービス プロバイダーの元のコンポーネントを置き換える必要があります。 これは、複数の拡張機能が同じコンポーネントを変更する場合に複雑になります。 このような場合は、複数の拡張機能が追加のロジックを提供できるようにプラグイン API を提供します。

サービスのリスト

プラグイン API の一覧を次に示します。

Service 説明
ITypeMappingSourcePlugin .NET 型とプリミティブ ストア型の間にマッピングを追加します。
IRelationalTypeMappingSourcePlugin .NET 型とプリミティブ リレーショナル データベース型の間にマッピングを追加します。
IConventionSetPlugin モデル構築規則を追加します。
IMemberTranslatorPlugin .NET プロパティの SQL 変換を追加します。
IMethodCallTranslatorPlugin .NET メソッドの SQL 変換を追加します。
IAggregateMethodCallTranslatorPlugin .NET 列挙可能メソッドの SQL 変換を追加します。
IEvaluatableExpressionFilterPlugin 特定の式をサーバーで評価することを強制します。
IProviderCodeGeneratorPlugin スキャフォールディング プロバイダーと DbContext オプション。

例示

これらの API を使用する拡張機能をいくつか次に示します。

拡張 説明
Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite SpatiaLite の型の型マッピングと SQL 変換を追加します。
Microsoft.EntityFrameworkCore.SqlServer.HierarchyId SQL Server の hierarchyid 型の型マッピングと SQL 変換を追加します。
Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite SQL Server の geography 型および geometry 型に対する型マッピングと SQL 変換を追加します。
EFCore.CheckConstraints リレーショナル データベース チェック制約のモデル構築規則を追加します。
EFCore.NamingConventions 別のリレーショナル データベース テーブル、列、および制約名のモデル構築規則を追加します。