Sprache

EntityFrameworkServicesBuilder Klasse

Definition

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

public class EntityFrameworkServicesBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.Extensions.DependencyInjection.IServiceCollection>
[System.Runtime.CompilerServices.Nullable(0)]
public class EntityFrameworkServicesBuilder
public class EntityFrameworkServicesBuilder
type EntityFrameworkServicesBuilder = class
    interface IInfrastructure<IServiceCollection>
[<System.Runtime.CompilerServices.Nullable(0)>]
type EntityFrameworkServicesBuilder = class
type EntityFrameworkServicesBuilder = class
Public Class EntityFrameworkServicesBuilder
Implements IInfrastructure(Of IServiceCollection)
Public Class EntityFrameworkServicesBuilder
Vererbung
EntityFrameworkServicesBuilder
Abgeleitet
Attribute
Implementiert

Hinweise

Anbieter sollten eine Instanz dieser Klasse erstellen, ihre Methoden zum Registrieren von Diensten verwenden und dann aufrufen TryAddCoreServices() , 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 sind. In einigen Fällen kann ein Anbieter einen Dienst mit einem anderen Bereich registrieren, aber es muss besonders darauf geachtet werden, dass alle abhängigkeiten den neuen Bereich verarbeiten können und dass es kein Problem für Dienste verursacht, die davon abhängen.

Weitere Informationen und Beispiele finden Sie unter Implementierung von Datenbankanbietern und Erweiterungen .

Konstruktoren

Name Beschreibung
EntityFrameworkServicesBuilder(IServiceCollection)

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

Felder

Name Beschreibung
CoreServices

Dies ist eine interne API, die die Entity Framework Core-Infrastruktur unterstützt und nicht den gleichen Kompatibilitätsstandards wie öffentliche APIs unterliegt. Sie kann ohne Vorherige Ankündigung geändert oder entfernt werden. Sie sollten sie nur direkt in Ihrem Code mit äußerster Vorsicht verwenden und wissen, dass dies zu Anwendungsfehlern bei der Aktualisierung auf eine neue Entity Framework Core-Version führen kann.

Eigenschaften

Name Beschreibung
ServiceCollectionMap

Zugriff auf die zugrunde liegende ServiceCollectionMap.

Methoden

Name Beschreibung
GetServiceCharacteristics(Type)

Ruft den ServiceCharacteristics angegebenen Diensttyp ab.

TryAdd(Type, Object)

Fügt eine Implementierung eines Entity Framework-Diensts nur hinzu, wenn ein Dienst noch nicht registriert wurde. Diese Methode kann nur für Singletondienste verwendet werden.

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

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

TryAdd(Type, Type)

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

TryAdd<TService,TImplementation>()

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

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

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

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

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

TryAdd<TService>(TService)

Fügt eine Implementierung eines Entity Framework-Diensts nur hinzu, wenn ein Dienst noch nicht registriert wurde. Diese Methode kann nur für Singletondienste verwendet werden.

TryAddCoreServices()

Registriert Standardimplementierungen aller Dienste, die nicht bereits 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 Methode aufrufen, sodass anbieterspezifische Dienste registriert werden können. Beachten Sie, dass Implementierungen von Entity Framework-Diensten direkt auf der EntityFrameworkServicesBuilder und nicht über diese Methode registriert werden sollten.

TryGetServiceCharacteristics(Type)

Ruft den ServiceCharacteristics angegebenen Diensttyp ab.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IInfrastructure<IServiceCollection>.Instance

Ruft das IServiceCollection Konfigurierte ab.

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

Erweiterungsmethoden

Name Beschreibung
GetInfrastructure<T>(IInfrastructure<T>)

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

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

Gilt für: