EntityFrameworkServicesBuilder Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma API do construtor projetada para provedores de banco de dados usar ao registrar serviços.
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
- Herança
-
EntityFrameworkServicesBuilder
- Derivado
- Atributos
- Implementações
Comentários
Os provedores devem criar uma instância dessa classe, usar seus métodos para registrar serviços e, em seguida, 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 ele não cause problemas para os 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
| Nome | Descrição |
|---|---|
| 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
| Nome | Descrição |
|---|---|
| CoreServices |
Essa é uma API interna que dá suporte à infraestrutura de 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 Entity Framework Core. |
Propriedades
| Nome | Descrição |
|---|---|
| ServiceCollectionMap |
Acesso ao subjacente ServiceCollectionMap. |
Métodos
| Nome | Descrição |
|---|---|
| GetServiceCharacteristics(Type) |
Obtém o ServiceCharacteristics 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, 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(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<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 aos serviços subjacentes ServiceCollectionMap , de modo que os serviços específicos do provedor possam ser registrados. Observe que as implementações dos serviços do Entity Framework devem ser registradas diretamente no EntityFrameworkServicesBuilder método e não por meio desse método. |
| TryGetServiceCharacteristics(Type) |
Obtém o ServiceCharacteristics tipo de serviço fornecido. |
Implantações explícitas de interface
| Nome | Descrição |
|---|---|
| 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
| Nome | Descriçã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. |