Condividi tramite


EntityFrameworkServicesBuilder Classe

Definizione

API di generatore progettata per i provider di database da usare durante la registrazione dei servizi.

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
Ereditarietà
EntityFrameworkServicesBuilder
Derivato
Implementazioni

Commenti

I provider devono creare un'istanza di questa classe, usare i relativi metodi per registrare i servizi e quindi chiamare TryAddCoreServices() per compilare i servizi Entity Framework rimanenti.

I provider relazionali devono usare invece 'EntityFrameworkRelationalServicesBuilder.

Entity Framework garantisce che i servizi vengano registrati con l'ambito appropriato. In alcuni casi un provider può registrare un servizio con un ambito diverso, ma è necessario prestare molta attenzione a che tutte le relative dipendenze possano gestire il nuovo ambito e che non causa problemi per i servizi che dipendono da esso.

Per altre informazioni ed esempi, vedere Implementazione di provider di database ed estensioni .

Costruttori

EntityFrameworkServicesBuilder(IServiceCollection)

Usato dai provider di database per creare un nuovo EntityFrameworkServicesBuilder oggetto per la registrazione dei servizi provider. I provider relazionali devono usare "EntityFrameworkRelationalServicesBuilder".

Campi

CoreServices

Si tratta di un'API interna che supporta l'infrastruttura Entity Framework Core e non è soggetta agli stessi standard di compatibilità delle API pubbliche. Può essere modificato o rimosso senza preavviso in alcuna versione. È consigliabile usarlo direttamente nel codice con estrema cautela e sapere che questa operazione può causare errori dell'applicazione durante l'aggiornamento a una nuova versione di Entity Framework Core.

Proprietà

ServiceCollectionMap

Accesso all'oggetto sottostante ServiceCollectionMap.

Metodi

GetServiceCharacteristics(Type)

Ottiene l'oggetto ServiceCharacteristics per il tipo di servizio specificato.

TryAdd(Type, Object)

Aggiunge un'implementazione di un servizio Entity Framework solo se non ne è già stata registrata una. Questo metodo può essere usato solo per i servizi singleton.

TryAdd(Type, Type)

Aggiunge un'implementazione di un servizio Entity Framework solo se non ne è già stata registrata una. L'ambito del servizio viene definito automaticamente da Entity Framework.

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

Aggiunge una factory per un servizio Entity Framework solo se non ne è già stata registrata una. L'ambito del servizio viene definito automaticamente da Entity Framework.

TryAdd<TService,TImplementation>()

Aggiunge un'implementazione di un servizio Entity Framework solo se non ne è già stata registrata una. L'ambito del servizio viene definito automaticamente da Entity Framework.

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

Aggiunge una factory per un servizio Entity Framework solo se non ne è già stata registrata una. L'ambito del servizio viene definito automaticamente da Entity Framework.

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

Aggiunge una factory per un servizio Entity Framework solo se non ne è già stata registrata una. L'ambito del servizio viene definito automaticamente da Entity Framework.

TryAdd<TService>(TService)

Aggiunge un'implementazione di un servizio Entity Framework solo se non ne è già stata registrata una. Questo metodo può essere usato solo per i servizi singleton.

TryAddCoreServices()

Registra le implementazioni predefinite di tutti i servizi non già registrati dal provider. I provider di database devono chiamare questo metodo come ultimo passaggio della registrazione del servizio, ovvero dopo la registrazione di tutti i servizi provider.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

I provider di database devono chiamare questo metodo per l'accesso all'oggetto sottostante ServiceCollectionMap in modo che sia possibile registrare servizi specifici del provider. Si noti che le implementazioni dei servizi Entity Framework devono essere registrate direttamente in EntityFrameworkServicesBuilder e non tramite questo metodo.

TryGetServiceCharacteristics(Type)

Ottiene l'oggetto ServiceCharacteristics per il tipo di servizio specificato.

Implementazioni dell'interfaccia esplicita

IInfrastructure<IServiceCollection>.Instance

Ottiene l'oggetto IServiceCollection configurato.

Questa proprietà è destinata all'uso da parte di metodi di estensione che devono usare servizi non esposti direttamente nell'area API pubblica.

Metodi di estensione

GetInfrastructure<T>(IInfrastructure<T>)

Ottiene il valore da una proprietà nascosta tramite IInfrastructure<T>.

Questo metodo viene in genere usato dai provider di database (e da altre estensioni). In genere non viene usato nel codice dell'applicazione.

Si applica a