次の方法で共有


EntityFrameworkServicesBuilder クラス

定義

サービスの登録時にデータベース プロバイダーが使用できるように設計されたビルダー API。

public class EntityFrameworkServicesBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.Extensions.DependencyInjection.IServiceCollection>
public class EntityFrameworkServicesBuilder
type EntityFrameworkServicesBuilder = class
    interface IInfrastructure<IServiceCollection>
type EntityFrameworkServicesBuilder = class
Public Class EntityFrameworkServicesBuilder
Implements IInfrastructure(Of IServiceCollection)
Public Class EntityFrameworkServicesBuilder
継承
EntityFrameworkServicesBuilder
派生
実装

注釈

プロバイダーは、このクラスのインスタンスを作成し、そのメソッドを使用してサービスを登録し、 を呼び出 TryAddCoreServices() して残りの Entity Framework サービスに入力する必要があります。

リレーショナル プロバイダーでは、代わりに 'EntityFrameworkRelationalServicesBuilder を使用する必要があります。

Entity Framework を使用すると、サービスが適切なスコープに登録されます。 場合によっては、プロバイダーが別のスコープでサービスを登録する場合がありますが、すべての依存関係が新しいスコープを処理できることと、それに依存するサービスに問題が発生しないように細心の注意を払う必要があります。

詳細と例については、「 データベース プロバイダーと拡張機能の実装 」を参照してください。

コンストラクター

EntityFrameworkServicesBuilder(IServiceCollection)

プロバイダー サービスの登録用に新しい EntityFrameworkServicesBuilder を作成するためにデータベース プロバイダーによって使用されます。 リレーショナル プロバイダーでは、"EntityFrameworkRelationalServicesBuilder" を使用する必要があります。

フィールド

CoreServices

これは Entity Framework Core インフラストラクチャをサポートする内部 API であり、パブリック API と同じ互換性標準の対象ではありません。 これは、いかなるリリースでも予告なしに変更または削除される可能性があります。 コード内でのみ直接使用する必要があります。これを行うと、新しい Entity Framework Core リリースに更新するときにアプリケーションエラーが発生する可能性があることを認識してください。

プロパティ

ServiceCollectionMap

基になる ServiceCollectionMapへのアクセス。

メソッド

GetServiceCharacteristics(Type)

指定されたサービスの ServiceCharacteristics 種類の を取得します。

TryAdd(Type, Object)

Entity Framework サービスの実装を追加するのは、まだ登録されていない場合のみです。 このメソッドは、シングルトン サービスでのみ使用できます。

TryAdd(Type, Type)

Entity Framework サービスの実装を追加するのは、まだ登録されていない場合のみです。 サービスのスコープは、Entity Framework によって自動的に定義されます。

TryAdd(Type, Type, Func<IServiceProvider,Object>)

Entity Framework サービスのファクトリを追加するのは、まだ登録されていない場合のみです。 サービスのスコープは、Entity Framework によって自動的に定義されます。

TryAdd<TService,TImplementation>()

Entity Framework サービスの実装を追加するのは、まだ登録されていない場合のみです。 サービスのスコープは、Entity Framework によって自動的に定義されます。

TryAdd<TService,TImplementation>(Func<IServiceProvider,TImplementation>)

Entity Framework サービスのファクトリを追加するのは、まだ登録されていない場合のみです。 サービスのスコープは、Entity Framework によって自動的に定義されます。

TryAdd<TService>(Func<IServiceProvider,TService>)

Entity Framework サービスのファクトリを追加するのは、まだ登録されていない場合のみです。 サービスのスコープは、Entity Framework によって自動的に定義されます。

TryAdd<TService>(TService)

Entity Framework サービスの実装を追加するのは、まだ登録されていない場合のみです。 このメソッドは、シングルトン サービスでのみ使用できます。

TryAddCoreServices()

プロバイダーによってまだ登録されていないすべてのサービスの既定の実装を登録します。 データベース プロバイダーは、このメソッドをサービス登録の最後の手順 (つまり、すべてのプロバイダー サービスが登録された後) として呼び出す必要があります。

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

データベース プロバイダーは、プロバイダー固有のサービスを登録できるように、基になる ServiceCollectionMap サービスにアクセスするためにこのメソッドを呼び出す必要があります。 Entity Framework サービスの実装は、このメソッドではなく に EntityFrameworkServicesBuilder 直接登録する必要があることに注意してください。

TryGetServiceCharacteristics(Type)

指定されたサービスの ServiceCharacteristics 種類の を取得します。

明示的なインターフェイスの実装

IInfrastructure<IServiceCollection>.Instance

構成されている を取得します IServiceCollection

このプロパティは、パブリック API サーフェイスで直接公開されていないサービスを使用する必要がある拡張メソッドで使用することを目的としています。

拡張メソッド

GetInfrastructure<T>(IInfrastructure<T>)

を使用して非表示になっているプロパティから値を IInfrastructure<T>取得します。

このメソッドは、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

適用対象