Freigeben über


EntityFrameworkServicesBuilder Klasse

Definition

Eine Generator-API, die für Datenbankanbieter entwickelt wurde, die beim Registrieren von Diensten verwendet werden sollen.

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
Vererbung
EntityFrameworkServicesBuilder
Abgeleitet
Implementiert

Hinweise

Anbieter sollten eine instance dieser Klasse erstellen, deren Methoden zum Registrieren von Diensten verwenden und dann aufrufenTryAddCoreServices(), um die verbleibenden Entity Framework-Dienste auszufüllen.

Relationale Anbieter sollten stattdessen "EntityFrameworkRelationalServicesBuilder" verwenden.

Entity Framework stellt sicher, dass Dienste mit dem entsprechenden Bereich registriert werden. In einigen Fällen kann ein Anbieter einen Dienst mit einem anderen Bereich registrieren, aber es muss sehr darauf geachtet werden, dass alle abhängigkeiten den neuen Bereich verarbeiten können und dass er kein Problem für Dienste verursacht, die davon abhängen.

Weitere Informationen und Beispiele finden Sie unter Implementierung von Datenbankanbietern und -erweiterungen .

Konstruktoren

EntityFrameworkServicesBuilder(IServiceCollection)

Wird von Datenbankanbietern verwendet, um eine neue EntityFrameworkServicesBuilder für die Registrierung von Anbieterdiensten zu erstellen. Relationale Anbieter sollten "EntityFrameworkRelationalServicesBuilder" verwenden.

Felder

CoreServices

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Es kann ohne Vorankündigung in einer Version geändert oder entfernt werden. Sie sollten es nur mit äußerster Vorsicht direkt im Code verwenden und wissen, dass dies beim Aktualisieren auf ein neues Entity Framework Core-Release zu Anwendungsfehlern führen kann.

Eigenschaften

ServiceCollectionMap

Zugriff auf die zugrunde liegende ServiceCollectionMap.

Methoden

GetServiceCharacteristics(Type)

Ruft den ServiceCharacteristics für den angegebenen Diensttyp ab.

TryAdd(Type, Object)

Fügt nur dann eine Implementierung eines Entity Framework-Diensts hinzu, wenn sie noch nicht registriert wurde. Diese Methode kann nur für Singleton-Dienste verwendet werden.

TryAdd(Type, Type)

Fügt nur dann eine Implementierung eines Entity Framework-Diensts hinzu, wenn sie noch nicht registriert wurde. Der Bereich des Diensts wird automatisch von Entity Framework definiert.

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

Fügt nur dann eine Factory für einen Entity Framework-Dienst hinzu, wenn sie noch nicht registriert wurde. Der Bereich des Diensts wird automatisch von Entity Framework definiert.

TryAdd<TService,TImplementation>()

Fügt nur dann eine Implementierung eines Entity Framework-Diensts hinzu, wenn sie noch nicht registriert wurde. Der Bereich des Diensts wird automatisch von Entity Framework definiert.

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

Fügt nur dann eine Factory für einen Entity Framework-Dienst hinzu, wenn sie noch nicht registriert wurde. Der Bereich des Diensts wird automatisch von Entity Framework definiert.

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

Fügt nur dann eine Factory für einen Entity Framework-Dienst hinzu, wenn sie noch nicht registriert wurde. Der Bereich des Diensts wird automatisch von Entity Framework definiert.

TryAdd<TService>(TService)

Fügt nur dann eine Implementierung eines Entity Framework-Diensts hinzu, wenn sie noch nicht registriert wurde. Diese Methode kann nur für Singleton-Dienste verwendet werden.

TryAddCoreServices()

Registriert Standardimplementierungen aller Dienste, die noch nicht vom Anbieter registriert wurden. Datenbankanbieter müssen diese Methode als letzten Schritt der Dienstregistrierung aufrufen, d. h. nachdem alle Anbieterdienste registriert wurden.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

Datenbankanbieter sollten diese Methode für den Zugriff auf die zugrunde liegende ServiceCollectionMap aufrufen, damit anbieterspezifische Dienste registriert werden können. Beachten Sie, dass Implementierungen von Entity Framework-Diensten direkt bei und EntityFrameworkServicesBuilder nicht über diese Methode registriert werden sollten.

TryGetServiceCharacteristics(Type)

Ruft den ServiceCharacteristics für den angegebenen Diensttyp ab.

Explizite Schnittstellenimplementierungen

IInfrastructure<IServiceCollection>.Instance

Ruft die ab, die IServiceCollection konfiguriert wird.

Diese Eigenschaft ist für die Verwendung durch Erweiterungsmethoden vorgesehen, die Dienste verwenden müssen, die nicht direkt auf der öffentlichen API-Oberfläche verfügbar gemacht werden.

Erweiterungsmethoden

GetInfrastructure<T>(IInfrastructure<T>)

Ruft den Wert aus einer Eigenschaft ab, die mit IInfrastructure<T>ausgeblendet wird.

Diese Methode wird in der Regel von Datenbankanbietern (und anderen Erweiterungen) verwendet. Es wird im Allgemeinen nicht im Anwendungscode verwendet.

Gilt für: