Compartilhar via


EntityFrameworkServicesBuilder Classe

Definição

Uma API de construtor projetada para provedores de banco de dados usar ao registrar serviços.

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
Herança
EntityFrameworkServicesBuilder
Derivado
Implementações

Comentários

Os provedores devem criar uma instância dessa classe, usar seus métodos para registrar serviços e chamar TryAddCoreServices() para preencher os serviços restantes do Entity Framework.

Em vez disso, os provedores relacionais devem usar 'EntityFrameworkRelationalServicesBuilder.

O Entity Framework garante que os serviços sejam registrados com o escopo apropriado. Em alguns casos, um provedor pode registrar um serviço com um escopo diferente, mas é necessário ter muito cuidado para que todas as suas dependências possam lidar com o novo escopo e que isso não cause problemas para serviços que dependem dele.

Consulte Implementação de provedores de banco de dados e extensões para obter mais informações e exemplos.

Construtores

EntityFrameworkServicesBuilder(IServiceCollection)

Usado por provedores de banco de dados para criar um novo EntityFrameworkServicesBuilder para registro de serviços de provedor. Os provedores relacionais devem usar 'EntityFrameworkRelationalServicesBuilder'.

Campos

CoreServices

Essa é uma API interna que dá suporte à infraestrutura do Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em qualquer versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que fazer isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão do Entity Framework Core.

Propriedades

ServiceCollectionMap

Acesso ao subjacente ServiceCollectionMap.

Métodos

GetServiceCharacteristics(Type)

Obtém o ServiceCharacteristics para o tipo de serviço fornecido.

TryAdd(Type, Object)

Adiciona uma implementação de um serviço do Entity Framework somente se um ainda não tiver sido registrado. Esse método só pode ser usado para serviços singleton.

TryAdd(Type, Type)

Adiciona uma implementação de um serviço do Entity Framework somente se um ainda não tiver sido registrado. O escopo do serviço é definido automaticamente pelo Entity Framework.

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

Adiciona uma fábrica para um serviço do Entity Framework somente se um ainda não tiver sido registrado. O escopo do serviço é definido automaticamente pelo Entity Framework.

TryAdd<TService,TImplementation>()

Adiciona uma implementação de um serviço do Entity Framework somente se um ainda não tiver sido registrado. O escopo do serviço é definido automaticamente pelo Entity Framework.

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

Adiciona uma fábrica para um serviço do Entity Framework somente se um ainda não tiver sido registrado. O escopo do serviço é definido automaticamente pelo Entity Framework.

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

Adiciona uma fábrica para um serviço do Entity Framework somente se um ainda não tiver sido registrado. O escopo do serviço é definido automaticamente pelo Entity Framework.

TryAdd<TService>(TService)

Adiciona uma implementação de um serviço do Entity Framework somente se um ainda não tiver sido registrado. Esse método só pode ser usado para serviços singleton.

TryAddCoreServices()

Registra implementações padrão de todos os serviços ainda não registrados pelo provedor. Os provedores de banco de dados devem chamar esse método como a última etapa do registro de serviço, ou seja, depois que todos os serviços do provedor tiverem sido registrados.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

Os provedores de banco de dados devem chamar esse método para acesso ao subjacente ServiceCollectionMap , de modo que os serviços específicos do provedor possam ser registrados. Observe que as implementações de serviços do Entity Framework devem ser registradas diretamente no EntityFrameworkServicesBuilder e não por meio desse método.

TryGetServiceCharacteristics(Type)

Obtém o ServiceCharacteristics para o tipo de serviço fornecido.

Implantações explícitas de interface

IInfrastructure<IServiceCollection>.Instance

Obtém o IServiceCollection que está sendo configurado.

Essa propriedade destina-se ao uso por métodos de extensão que precisam fazer uso de serviços não expostos diretamente na superfície da API pública.

Métodos de Extensão

GetInfrastructure<T>(IInfrastructure<T>)

Obtém o valor de uma propriedade que está sendo ocultada usando IInfrastructure<T>.

Esse método normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.

Aplica-se a