DbContextOptionsBuilder 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.
Fornece uma superfície de API simples para configurar DbContextOptions. Os bancos de dados (e outras extensões) normalmente definem métodos de extensão nesse objeto que permitem que você configure a conexão de banco de dados (e outras opções) a ser usada para um contexto.
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
[System.Runtime.CompilerServices.Nullable(0)]
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
[<System.Runtime.CompilerServices.Nullable(0)>]
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
- Herança
-
DbContextOptionsBuilder
- Derivado
- Atributos
- Implementações
Comentários
Você pode usar DbContextOptionsBuilder para configurar um contexto substituindo OnConfiguring(DbContextOptionsBuilder) ou criando um DbContextOptions externamente e passando-o para o construtor de contexto.
Consulte Como usar DbContextOptions para obter mais informações e exemplos.
Construtores
| Nome | Descrição |
|---|---|
| DbContextOptionsBuilder() |
Inicializa uma nova instância da DbContextOptionsBuilder classe sem opções definidas. |
| DbContextOptionsBuilder(DbContextOptions) |
Inicializa uma nova instância da DbContextOptionsBuilder classe para configurar ainda mais um determinado DbContextOptions. |
Propriedades
| Nome | Descrição |
|---|---|
| IsConfigured |
Obtém um valor que indica se alguma opção foi configurada. |
| Options |
Obtém as opções que estão sendo configuradas. |
Métodos
| Nome | Descrição |
|---|---|
| AddInterceptors(IEnumerable<IInterceptor>) |
Adiciona IInterceptor instâncias às registradas no contexto. |
| AddInterceptors(IInterceptor[]) |
Adiciona IInterceptor instâncias às registradas no contexto. |
| ConfigureLoggingCacheTime(TimeSpan) |
Configura por quanto tempo o EF Core armazenará em cache a configuração de log em determinados caminhos de alto desempenho. Isso faz com que o EF Core ignore verificações de registro em log potencialmente dispendiosamente dispendiosas, mas significa que as alterações de log de runtime (por exemplo, registrar uma nova DiagnosticListener podem não ser levadas em conta imediatamente). |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Configura o comportamento de runtime dos avisos gerados pelo Entity Framework. Você pode definir um comportamento padrão e comportamentos para cada tipo de aviso. |
| ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Configura o comportamento de runtime dos avisos gerados pelo Entity Framework. Você pode definir um comportamento padrão e comportamentos para cada tipo de aviso. |
| EnableDetailedErrors(Boolean) |
Habilita erros detalhados ao lidar com exceções de valor de dados que ocorrem durante o processamento dos resultados da consulta do repositório. Esses erros geralmente ocorrem devido à configuração incorreta das propriedades da entidade. Por exemplo, se uma propriedade estiver configurada para ser do tipo 'int', mas os dados subjacentes no repositório forem, na verdade, do tipo 'string', uma exceção será gerada em runtime durante o processamento do valor de dados. Quando essa opção estiver habilitada e um erro de dados for encontrado, a exceção gerada incluirá detalhes da propriedade de entidade específica que gerou o erro. |
| EnableSensitiveDataLogging() |
Permite que os dados do aplicativo sejam incluídos em mensagens de exceção, registro em log etc. Isso pode incluir os valores atribuídos às propriedades de suas instâncias de entidade, valores de parâmetro para comandos que estão sendo enviados para o banco de dados e outros dados desse tipo. Você só deverá habilitar esse sinalizador se tiver as medidas de segurança apropriadas em vigor com base na confidencialidade desses dados. |
| EnableSensitiveDataLogging(Boolean) |
Permite que os dados do aplicativo sejam incluídos em mensagens de exceção, registro em log etc. Isso pode incluir os valores atribuídos às propriedades de suas instâncias de entidade, valores de parâmetro para comandos que estão sendo enviados para o banco de dados e outros dados desse tipo. Você só deverá habilitar esse sinalizador se tiver as medidas de segurança apropriadas em vigor com base na confidencialidade desses dados. |
| EnableServiceProviderCaching(Boolean) |
Habilita ou desabilita o cache de provedores de serviços internos. Desabilitar o cache pode afetar massivamente o desempenho e só deve ser usado em cenários de teste que criam muitos provedores de serviços para isolamento de teste. |
| EnableThreadSafetyChecks(Boolean) |
Desabilita a detecção de simultaneidade, que detecta muitos casos de uso simultâneo incorreto de uma DbContext instância e faz com que uma exceção informativa seja gerada. Isso fornece uma pequena melhoria de desempenho, mas se uma DbContext instância for usada simultaneamente, o comportamento será indefinido e o programa poderá falhar de maneiras imprevisíveis. |
| LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>) |
Registra eventos filtrados por um delegado de filtro personalizado fornecido. O filtro deve retornar true para registrar uma mensagem em log ou false para filtre-a para fora do log. |
| LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
Registra os eventos especificados usando a ação fornecida. Por exemplo, use |
| LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Registra todos os eventos nas categorias especificadas usando a ação fornecida. Por exemplo, use |
| LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Logs usando a ação fornecida. Por exemplo, use |
| LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
Registra eventos em um delegado de agente personalizado filtrado por um delegado de filtro personalizado. O filtro deve retornar true para registrar uma mensagem em log ou false para filtre-a para fora do log. |
| ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
Substitui a implementação interna do Entity Framework de uma implementação específica de um contrato de serviço por uma implementação diferente. |
| ReplaceService<TService,TImplementation>() |
Substitui todas as implementações internas do Entity Framework de um contrato de serviço por uma implementação diferente. |
| UseApplicationServiceProvider(IServiceProvider) |
Define a IServiceProvider partir da qual os serviços de aplicativo serão obtidos. Isso é feito automaticamente ao usar 'AddDbContext' ou 'AddDbContextPool', portanto, é raro que esse método precise ser chamado. |
| UseAsyncSeeding(Func<DbContext,Boolean,CancellationToken,Task>) |
Configura o método de semente a ser executado após EnsureCreatedAsync(CancellationToken) ser chamado ou depois que as migrações são aplicadas de forma assíncrona. Ele será invocado mesmo se nenhuma alteração no repositório tiver sido executada. |
| UseInternalServiceProvider(IServiceProvider) |
Define do IServiceProvider qual o contexto deve resolver todos os seus serviços. O EF criará e gerenciará um provedor de serviços se nenhum for especificado. |
| UseLoggerFactory(ILoggerFactory) |
Define o ILoggerFactory que será usado para criar ILogger instâncias para registro em log feito por esse contexto. |
| UseMemoryCache(IMemoryCache) |
Define o IMemoryCache que será usado para o cache de consulta por esse contexto. |
| UseModel(IModel) |
Define o modelo a ser usado para o contexto. Se o modelo estiver definido, não OnModelCreating(ModelBuilder) será executado. |
| UseQueryTrackingBehavior(QueryTrackingBehavior) |
Define o comportamento de acompanhamento das consultas LINQ executadas no contexto. Desabilitar o controle de alterações é útil para cenários somente leitura, pois evita a sobrecarga de configurar o controle de alterações para cada instância de entidade. Você não deve desabilitar o controle de alterações se quiser manipular instâncias de entidade e persistir essas alterações no banco de dados usando SaveChanges(). |
| UseRootApplicationServiceProvider() |
Resolve a raiz IServiceProvider do provedor de serviços de aplicativo com escopo. O provedor raiz pode ser usado para obter serviços de aplicativo singleton de serviços internos singleton. |
| UseRootApplicationServiceProvider(IServiceProvider) |
Define a raiz IServiceProvider da qual os serviços de aplicativo singleton podem ser obtidos de serviços internos singleton. |
| UseSeeding(Action<DbContext,Boolean>) |
Configura o método de semente a ser executado após EnsureCreated() ser chamado ou depois que as migrações são aplicadas. Ele será invocado mesmo se nenhuma alteração no repositório tiver sido executada. |
Implantações explícitas de interface
| Nome | Descrição |
|---|---|
| IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
Adiciona a extensão fornecida às opções. Se já existir uma extensão existente do mesmo tipo, ela será substituída. |
| IDbContextOptionsBuilderInfrastructure.RemoveExtension<TExtension>() |
Remove a extensão do tipo fornecido das opções. Se não houver nenhuma extensão do tipo fornecido, essa será uma no-op. |
Métodos de Extensão
| Nome | Descrição |
|---|---|
| ConfigureSqlEngine(DbContextOptionsBuilder, Action<SqlEngineDbContextOptionsBuilder>) |
Configura o contexto para se conectar a qualquer um dos bancos de dados SQL Server, SQL do Azure Azure Synapse, mas sem definir inicialmente nenhuma DbConnection ou cadeia de conexão. |
| UseAzureSql(DbContextOptionsBuilder, Action<AzureSqlDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQL do Azure, mas sem definir DbConnection nenhuma ou cadeia de conexão inicialmente. |
| UseAzureSql(DbContextOptionsBuilder, DbConnection, Action<AzureSqlDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQL do Azure. |
| UseAzureSql(DbContextOptionsBuilder, DbConnection, Boolean, Action<AzureSqlDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQL do Azure. |
| UseAzureSql(DbContextOptionsBuilder, String, Action<AzureSqlDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQL do Azure. |
| UseAzureSynapse(DbContextOptionsBuilder, Action<AzureSynapseDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados Azure Synapse, mas sem definir DbConnection nenhuma ou cadeia de conexão inicialmente. |
| UseAzureSynapse(DbContextOptionsBuilder, DbConnection, Action<AzureSynapseDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados Azure Synapse. |
| UseAzureSynapse(DbContextOptionsBuilder, DbConnection, Boolean, Action<AzureSynapseDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados Azure Synapse. |
| UseAzureSynapse(DbContextOptionsBuilder, String, Action<AzureSynapseDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados Azure Synapse. |
| UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean) |
Ativa a criação de proxies de controle de alterações. |
| UseCosmos(DbContextOptionsBuilder, Action<CosmosDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados Azure Cosmos. Os detalhes da conexão precisam ser especificados em uma chamada separada. |
| UseCosmos(DbContextOptionsBuilder, String, String, Action<CosmosDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados Azure Cosmos. |
| UseCosmos(DbContextOptionsBuilder, String, String, String, Action<CosmosDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados Azure Cosmos. |
| UseCosmos(DbContextOptionsBuilder, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados Azure Cosmos. |
| UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>) |
Obsoleto.
Obsoleto.
Configura o contexto para se conectar ao banco de dados compartilhado herdado na memória. Esse método é obsoleto. Use UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) em seu lugar. |
| UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados nomeado na memória. O banco de dados na memória é compartilhado em qualquer lugar em que o mesmo nome é usado, mas apenas para um determinado provedor de serviços. Para usar o mesmo banco de dados na memória entre provedores de serviços, chame UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) passar um compartilhado InMemoryDatabaseRoot no qual raiz o banco de dados. |
| UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados nomeado na memória. O banco de dados na memória é compartilhado em qualquer lugar em que o mesmo nome é usado, mas apenas para um determinado provedor de serviços. |
| UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>) |
Ativa a criação de proxies de carregamento lentos. |
| UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean) |
Ativa a criação de proxies de carregamento lentos. |
| UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQLite, mas sem definir inicialmente nenhuma DbConnection ou cadeia de conexão. |
| UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQLite. |
| UseSqlite(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqliteDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQLite. |
| UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQLite. |
| UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQL Server, mas sem definir DbConnection nenhuma ou cadeia de conexão inicialmente. |
| UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQL Server. |
| UseSqlServer(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQL Server. |
| UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>) |
Configura o contexto para se conectar a um banco de dados SQL Server. |