Compartilhar via


DbContextOptionsBuilder<TContext> Classe

Definição

Fornece uma superfície de API simples para configurar DbContextOptions<TContext>. Os bancos de dados (e outras extensões) normalmente definem métodos de extensão nesse objeto que permitem configurar a conexão de banco de dados (e outras opções) a serem usadas para um contexto.

public class DbContextOptionsBuilder<TContext> : Microsoft.EntityFrameworkCore.DbContextOptionsBuilder where TContext : DbContext
type DbContextOptionsBuilder<'Context (requires 'Context :> DbContext)> = class
    inherit DbContextOptionsBuilder
Public Class DbContextOptionsBuilder(Of TContext)
Inherits DbContextOptionsBuilder

Parâmetros de tipo

TContext

O tipo de contexto a ser configurado.

Herança
DbContextOptionsBuilder<TContext>

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.

Confira Usando DbContextOptions para obter mais informações e exemplos.

Construtores

DbContextOptionsBuilder<TContext>()

Inicializa uma nova instância da DbContextOptionsBuilder<TContext> classe sem opções definidas.

DbContextOptionsBuilder<TContext>(DbContextOptions<TContext>)

Inicializa uma nova instância da DbContextOptionsBuilder<TContext> classe para configurar ainda mais um determinado DbContextOptions.

Propriedades

IsConfigured

Obtém um valor que indica se alguma opção foi configurada.

(Herdado de DbContextOptionsBuilder)
Options

Obtém as opções que estão sendo configuradas.

Métodos

AddInterceptors(IEnumerable<IInterceptor>)

Adiciona IInterceptor instâncias às registradas no contexto.

AddInterceptors(IEnumerable<IInterceptor>)

Adiciona IInterceptor instâncias às registradas no contexto.

(Herdado de DbContextOptionsBuilder)
AddInterceptors(IInterceptor[])

Adiciona IInterceptor instâncias às registradas no contexto.

AddInterceptors(IInterceptor[])

Adiciona IInterceptor instâncias às registradas no contexto.

(Herdado de DbContextOptionsBuilder)
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 log potencialmente dispendiosos, mas significa que as alterações de log de runtime (por exemplo, o registro de um novo DiagnosticListener pode não ser levado em conta imediatamente).

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 log potencialmente dispendiosos, mas significa que as alterações de log de runtime (por exemplo, o registro de um novo DiagnosticListener pode não ser levado em conta imediatamente).

(Herdado de DbContextOptionsBuilder)
ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configura o comportamento de runtime de 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 de 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 de avisos gerados pelo Entity Framework. Você pode definir um comportamento padrão e comportamentos para cada tipo de aviso.

(Herdado de DbContextOptionsBuilder)
ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Configura o comportamento de runtime de avisos gerados pelo Entity Framework. Você pode definir um comportamento padrão e comportamentos para cada tipo de aviso.

(Herdado de DbContextOptionsBuilder)
EnableDetailedErrors(Boolean)

Habilita erros detalhados ao lidar com exceções de valor de dados que ocorrem durante o processamento dos resultados da consulta de armazenamento. 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.

EnableDetailedErrors(Boolean)

Habilita erros detalhados ao lidar com exceções de valor de dados que ocorrem durante o processamento dos resultados da consulta de armazenamento. 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.

(Herdado de DbContextOptionsBuilder)
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()

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.

(Herdado de DbContextOptionsBuilder)
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.

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.

(Herdado de DbContextOptionsBuilder)
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.

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.

(Herdado de DbContextOptionsBuilder)
EnableThreadSafetyChecks(Boolean)

Desabilita a detecção de simultaneidade, que detecta muitos casos de uso simultâneo errôneo 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.

EnableThreadSafetyChecks(Boolean)

Desabilita a detecção de simultaneidade, que detecta muitos casos de uso simultâneo errôneo 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.

(Herdado de DbContextOptionsBuilder)
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 filtrá-la para fora do log.

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 filtrá-la para fora do log.

(Herdado de DbContextOptionsBuilder)
LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>)

Registra os eventos especificados usando a ação fornecida. Por exemplo, use optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) para registrar o ContextInitialized evento no console.

LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>)

Registra os eventos especificados usando a ação fornecida. Por exemplo, use optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) para registrar o ContextInitialized evento no console.

(Herdado de DbContextOptionsBuilder)
LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Registra todos os eventos nas categorias especificadas usando a ação fornecida. Por exemplo, use optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) para registrar todos os eventos na DbLoggerCategory.Infrastructure categoria.

LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Registra todos os eventos nas categorias especificadas usando a ação fornecida. Por exemplo, use optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) para registrar todos os eventos na DbLoggerCategory.Infrastructure categoria.

(Herdado de DbContextOptionsBuilder)
LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Logs usando a ação fornecida. Por exemplo, use optionsBuilder.LogTo(Console.WriteLine) para fazer logon no console.

LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Logs usando a ação fornecida. Por exemplo, use optionsBuilder.LogTo(Console.WriteLine) para fazer logon no console.

(Herdado de DbContextOptionsBuilder)
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 filtrá-la para fora do log.

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 filtrá-la para fora do log.

(Herdado de DbContextOptionsBuilder)
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,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.

(Herdado de DbContextOptionsBuilder)
ReplaceService<TService,TImplementation>()

Substitui todas as implementações internas do Entity Framework 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.

(Herdado de DbContextOptionsBuilder)
UseApplicationServiceProvider(IServiceProvider)

Define o IServiceProvider do qual os serviços de aplicativo serão obtidos. Isso é feito automaticamente ao usar 'AddDbContext', portanto, é raro que esse método precise ser chamado.

UseApplicationServiceProvider(IServiceProvider)

Define o IServiceProvider do 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.

(Herdado de DbContextOptionsBuilder)
UseInternalServiceProvider(IServiceProvider)

Define o IServiceProvider do qual o contexto deve resolve 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 a ser usado para cache de consulta por esse contexto.

UseModel(IModel)

Define o modelo a ser usado para o contexto. Se o modelo estiver definido, OnModelCreating(ModelBuilder) não será executado.

UseQueryTrackingBehavior(QueryTrackingBehavior)

Define o comportamento de acompanhamento para consultas LINQ executadas no contexto. Desabilitar o controle de alterações é útil para cenários somente leitura porque 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().

UseQueryTrackingBehavior(QueryTrackingBehavior)

Define o comportamento de acompanhamento para consultas LINQ executadas no contexto. Desabilitar o controle de alterações é útil para cenários somente leitura porque 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().

(Herdado de DbContextOptionsBuilder)
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()

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.

(Herdado de DbContextOptionsBuilder)
UseRootApplicationServiceProvider(IServiceProvider)

Define a raiz IServiceProvider da qual os serviços de aplicativo singleton podem ser obtidos 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.

(Herdado de DbContextOptionsBuilder)

Implantações explícitas de interface

IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension)

Adiciona a extensão fornecida às opções. Se já existir uma extensão do mesmo tipo, ela será substituída.

(Herdado de DbContextOptionsBuilder)

Métodos de Extensão

UseCosmos(DbContextOptionsBuilder, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Azure Cosmos.

UseCosmos(DbContextOptionsBuilder, String, String, Action<CosmosDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Azure Cosmos.

UseCosmos(DbContextOptionsBuilder, String, String, String, Action<CosmosDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Azure Cosmos.

UseCosmos<TContext>(DbContextOptionsBuilder<TContext>, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Azure Cosmos.

UseCosmos<TContext>(DbContextOptionsBuilder<TContext>, String, String, Action<CosmosDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Azure Cosmos.

UseCosmos<TContext>(DbContextOptionsBuilder<TContext>, String, String, String, Action<CosmosDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Azure Cosmos.

UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>)
Obsoleto.
Obsoleto.

Configura o contexto para se conectar ao banco de dados na memória compartilhado herdado. Esse método é obsoleto. Use UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) em vez disso.

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.

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>) passando um compartilhado InMemoryDatabaseRoot no qual raiz o banco de dados.

UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, Action<InMemoryDbContextOptionsBuilder>)
Obsoleto.
Obsoleto.

Configura o contexto para se conectar ao banco de dados na memória compartilhado herdado. Esse método é obsoleto. Use UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, String, Action<InMemoryDbContextOptionsBuilder>) em vez disso.

UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados 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.

UseInMemoryDatabase<TContext>(DbContextOptionsBuilder<TContext>, String, Action<InMemoryDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados 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<TContext>(DbContextOptionsBuilder<TContext>, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) passando um compartilhado InMemoryDatabaseRoot no qual raiz o banco de dados.

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

Ativa a criação de proxies de controle de alterações.

UseChangeTrackingProxies<TContext>(DbContextOptionsBuilder<TContext>, Boolean, Boolean)

Ativa a criação de proxies de controle de alterações.

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.

UseLazyLoadingProxies<TContext>(DbContextOptionsBuilder<TContext>, Action<LazyLoadingProxiesOptionsBuilder>)

Ativa a criação de proxies de carregamento lentos.

UseLazyLoadingProxies<TContext>(DbContextOptionsBuilder<TContext>, 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.

UseSqlite<TContext>(DbContextOptionsBuilder<TContext>, 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<TContext>(DbContextOptionsBuilder<TContext>, DbConnection, Action<SqliteDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados SQLite.

UseSqlite<TContext>(DbContextOptionsBuilder<TContext>, DbConnection, Boolean, Action<SqliteDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados SQLite.

UseSqlite<TContext>(DbContextOptionsBuilder<TContext>, 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 do Microsoft SQL Server, mas sem definir inicialmente nenhuma DbConnection ou cadeia de conexão.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Microsoft SQL Server.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Microsoft SQL Server.

UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Microsoft SQL Server.

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, Action<SqlServerDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Microsoft SQL Server, mas sem definir inicialmente nenhuma DbConnection ou cadeia de conexão.

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Microsoft SQL Server.

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Microsoft SQL Server.

UseSqlServer<TContext>(DbContextOptionsBuilder<TContext>, String, Action<SqlServerDbContextOptionsBuilder>)

Configura o contexto para se conectar a um banco de dados do Microsoft SQL Server.

Aplica-se a