DbContext Classe

Definição

Uma instância DbContext representa uma sessão com o banco de dados e pode ser usada para consultar e salvar instâncias de suas entidades. DbContext é uma combinação da unidade de padrões de trabalho e de repositório.

public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbQueryCache, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IAsyncDisposable, IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbQueryCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IAsyncDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
    interface IResettableService
Public Class DbContext
Implements IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbQueryCache, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IAsyncDisposable, IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Herança
DbContext
Implementações
IInfrastructure<IServiceProvider> IDisposable Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable Microsoft.EntityFrameworkCore.Internal.IDbSetCache Microsoft.EntityFrameworkCore.Internal.IDbQueryCache IResettableService IAsyncDisposable

Comentários

Normalmente, você cria uma classe que deriva de DbContext e contém DbSet<TEntity> Propriedades para cada entidade no modelo. Se as DbSet<TEntity> Propriedades tiverem um setter público, elas serão inicializadas automaticamente quando a instância do contexto derivado for criada.

Substitua o OnConfiguring(DbContextOptionsBuilder) método para configurar o banco de dados (e outras opções) a ser usado para o contexto. Como alternativa, se você preferir executar a configuração externamente em vez de embutida em seu contexto, poderá usar DbContextOptionsBuilder<TContext> (ou DbContextOptionsBuilder ) para criar externamente uma instância de DbContextOptions<TContext> (ou DbContextOptions ) e passá-la para um construtor base de DbContext .

O modelo é descoberto pela execução de um conjunto de convenções nas classes de entidade encontradas nas DbSet<TEntity> Propriedades no contexto derivado. Para configurar ainda mais o modelo descoberto pela Convenção, você pode substituir o OnModelCreating(ModelBuilder) método.

Construtores

DbContext()

Inicializa uma nova instância da classe DbContext. O OnConfiguring(DbContextOptionsBuilder) o método será chamado para configurar o banco de dados (e outras opções) a ser usado para esse contexto.

DbContext(DbContextOptions)

Inicializa uma nova instância da DbContext classe usando as opções especificadas. O OnConfiguring(DbContextOptionsBuilder) método ainda será chamado para permitir a configuração adicional das opções.

Propriedades

ChangeTracker

Fornece acesso a informações e operações para instâncias de entidade que esse contexto está controlando.

ContextId

Um identificador exclusivo para a instância de contexto e a concessão de pool, se houver.

Esse identificador é direcionado principalmente como uma ID de correlação para registro em log e depuração, de modo que é fácil identificar que vários eventos estão usando instâncias de contexto iguais ou diferentes.

Database

Fornece acesso a informações e operações relacionadas ao banco de dados para este contexto.

Model

Os metadados sobre a forma de entidades, as relações entre elas e como elas são mapeadas para o banco de dados.

Métodos

Add(Object)

Começa a controlar a entidade especificada e quaisquer outras entidades acessíveis que ainda não estão sendo rastreadas, no Added estado, de modo que elas sejam inseridas no banco de dados quando SaveChanges() for chamado.

Use State para definir o estado de apenas uma única entidade.

Add<TEntity>(TEntity)

Começa a controlar a entidade especificada e quaisquer outras entidades acessíveis que ainda não estão sendo rastreadas, no Added estado, de modo que elas sejam inseridas no banco de dados quando SaveChanges() for chamado.

Use State para definir o estado de apenas uma única entidade.

AddAsync(Object, CancellationToken)

Começa a controlar a entidade especificada e quaisquer outras entidades acessíveis que ainda não estão sendo rastreadas, no Added estado, de modo que elas sejam inseridas no banco de dados quando SaveChanges() for chamado.

Use State para definir o estado de apenas uma única entidade.

Esse método é assíncrono somente para permitir geradores de valor especiais, como aquele usado por ' Microsoft. EntityFrameworkCore. Metadata. SqlServerValueGenerationStrategy. SequenceHiLo ', para acessar o banco de dados de forma assíncrona. Para todos os outros casos, o método não assíncrono deve ser usado.

AddAsync<TEntity>(TEntity, CancellationToken)

Começa a controlar a entidade especificada e quaisquer outras entidades acessíveis que ainda não estão sendo rastreadas, no Added estado, de modo que elas sejam inseridas no banco de dados quando SaveChanges() for chamado.

Esse método é assíncrono somente para permitir geradores de valor especiais, como aquele usado por ' Microsoft. EntityFrameworkCore. Metadata. SqlServerValueGenerationStrategy. SequenceHiLo ', para acessar o banco de dados de forma assíncrona. Para todos os outros casos, o método não assíncrono deve ser usado.

AddRange(IEnumerable<Object>)

Começa a controlar as entidades fornecidas e quaisquer outras entidades acessíveis que ainda não estejam sendo rastreadas, no Added estado de modo que elas sejam inseridas no banco de dados quando SaveChanges() for chamado.

AddRange(Object[])

Começa a controlar as entidades fornecidas e quaisquer outras entidades acessíveis que ainda não estejam sendo rastreadas, no Added estado de modo que elas sejam inseridas no banco de dados quando SaveChanges() for chamado.

AddRangeAsync(IEnumerable<Object>, CancellationToken)

Começa a controlar a entidade especificada e quaisquer outras entidades acessíveis que ainda não estão sendo rastreadas, no Added estado, de modo que elas sejam inseridas no banco de dados quando SaveChanges() for chamado.

Esse método é assíncrono somente para permitir geradores de valor especiais, como aquele usado por ' Microsoft. EntityFrameworkCore. Metadata. SqlServerValueGenerationStrategy. SequenceHiLo ', para acessar o banco de dados de forma assíncrona. Para todos os outros casos, o método não assíncrono deve ser usado.

AddRangeAsync(Object[])

Começa a controlar a entidade especificada e quaisquer outras entidades acessíveis que ainda não estão sendo rastreadas, no Added estado, de modo que elas sejam inseridas no banco de dados quando SaveChanges() for chamado.

Esse método é assíncrono somente para permitir geradores de valor especiais, como aquele usado por ' Microsoft. EntityFrameworkCore. Metadata. SqlServerValueGenerationStrategy. SequenceHiLo ', para acessar o banco de dados de forma assíncrona. Para todos os outros casos, o método não assíncrono deve ser usado.

Attach(Object)

Começa a controlar a entidade e as entradas acessíveis da entidade especificada usando o Unchanged estado por padrão, mas veja abaixo os casos em que um estado diferente será usado.

Em geral, nenhuma interação de banco de dados será executada até que SaveChanges() seja chamado.

Uma pesquisa recursiva das propriedades de navegação será executada para localizar entidades acessíveis que ainda não estão sendo rastreadas pelo contexto. Todas as entidades encontradas serão rastreadas pelo contexto.

Para tipos de entidade com chaves geradas se uma entidade tiver seu valor de chave primária definido, ela será acompanhada no Unchanged estado. Se o valor da chave primária não for definido, ele será acompanhado no Added estado. Isso ajuda a garantir que somente novas entidades serão inseridas. Uma entidade é considerada com seu valor de chave primária definido se a propriedade de chave primária for definida como algo diferente do padrão CLR para o tipo de propriedade.

Para tipos de entidade sem chaves geradas, o estado definido é sempre Unchanged .

Use State para definir o estado de apenas uma única entidade.

Attach<TEntity>(TEntity)

Começa a controlar a entidade e as entradas acessíveis da entidade especificada usando o Unchanged estado por padrão, mas veja abaixo os casos em que um estado diferente será usado.

Em geral, nenhuma interação de banco de dados será executada até que SaveChanges() seja chamado.

Uma pesquisa recursiva das propriedades de navegação será executada para localizar entidades acessíveis que ainda não estão sendo rastreadas pelo contexto. Todas as entidades encontradas serão rastreadas pelo contexto.

Para tipos de entidade com chaves geradas se uma entidade tiver seu valor de chave primária definido, ela será acompanhada no Unchanged estado. Se o valor da chave primária não for definido, ele será acompanhado no Added estado. Isso ajuda a garantir que somente novas entidades serão inseridas. Uma entidade é considerada com seu valor de chave primária definido se a propriedade de chave primária for definida como algo diferente do padrão CLR para o tipo de propriedade.

Para tipos de entidade sem chaves geradas, o estado definido é sempre Unchanged .

Use State para definir o estado de apenas uma única entidade.

AttachRange(IEnumerable<Object>)

Começa a controlar as entidades e entradas fornecidas por padrão das entidades fornecidas usando o Unchanged estado por default, mas veja abaixo os casos em que um estado diferente será usado.

Em geral, nenhuma interação de banco de dados será executada até que SaveChanges() seja chamado.

Uma pesquisa recursiva das propriedades de navegação será executada para localizar entidades acessíveis que ainda não estão sendo rastreadas pelo contexto. Todas as entidades encontradas serão rastreadas pelo contexto.

Para tipos de entidade com chaves geradas se uma entidade tiver seu valor de chave primária definido, ela será acompanhada no Unchanged estado. Se o valor da chave primária não for definido, ele será acompanhado no Added estado. Isso ajuda a garantir que somente novas entidades serão inseridas. Uma entidade é considerada com seu valor de chave primária definido se a propriedade de chave primária for definida como algo diferente do padrão CLR para o tipo de propriedade.

Para tipos de entidade sem chaves geradas, o estado definido é sempre Unchanged .

Use State para definir o estado de apenas uma única entidade.

AttachRange(Object[])

Começa a controlar as entidades e entradas fornecidas por padrão das entidades fornecidas usando o Unchanged estado por default, mas veja abaixo os casos em que um estado diferente será usado.

Em geral, nenhuma interação de banco de dados será executada até que SaveChanges() seja chamado.

Uma pesquisa recursiva das propriedades de navegação será executada para localizar entidades acessíveis que ainda não estão sendo rastreadas pelo contexto. Todas as entidades encontradas serão rastreadas pelo contexto.

Para tipos de entidade com chaves geradas se uma entidade tiver seu valor de chave primária definido, ela será acompanhada no Unchanged estado. Se o valor da chave primária não for definido, ele será acompanhado no Added estado. Isso ajuda a garantir que somente novas entidades serão inseridas. Uma entidade é considerada com seu valor de chave primária definido se a propriedade de chave primária for definida como algo diferente do padrão CLR para o tipo de propriedade.

Para tipos de entidade sem chaves geradas, o estado definido é sempre Unchanged .

Use State para definir o estado de apenas uma única entidade.

Dispose()

Libera os recursos alocados para este contexto.

DisposeAsync()

Libera os recursos alocados para este contexto.

Entry(Object)

Obtém um EntityEntry para a entidade especificada. A entrada fornece acesso às informações e às operações de controle de alterações para a entidade.

Esse método pode ser chamado em uma entidade que não é rastreada. Em seguida, você pode definir a State Propriedade na entrada retornada para que o contexto comece a rastrear a entidade no estado especificado.

Entry<TEntity>(TEntity)

Obtém um EntityEntry<TEntity> para a entidade especificada. A entrada fornece acesso às informações e às operações de controle de alterações para a entidade.

Find(Type, Object[])

Localiza uma entidade com os valores de chave primária fornecidos. Se uma entidade com os valores de chave primária fornecidos estiver sendo rastreada pelo contexto, ela será retornada imediatamente sem fazer uma solicitação ao banco de dados. Caso contrário, uma consulta é feita ao banco de dados para uma entidade com os valores de chave primária fornecidos e essa entidade, se encontrada, é anexada ao contexto e retornada. Se nenhuma entidade for encontrada, NULL será retornado.

Find<TEntity>(Object[])

Localiza uma entidade com os valores de chave primária fornecidos. Se uma entidade com os valores de chave primária fornecidos estiver sendo rastreada pelo contexto, ela será retornada imediatamente sem fazer uma solicitação ao banco de dados. Caso contrário, uma consulta é feita ao banco de dados para uma entidade com os valores de chave primária fornecidos e essa entidade, se encontrada, é anexada ao contexto e retornada. Se nenhuma entidade for encontrada, NULL será retornado.

FindAsync(Type, Object[])

Localiza uma entidade com os valores de chave primária fornecidos. Se uma entidade com os valores de chave primária fornecidos estiver sendo rastreada pelo contexto, ela será retornada imediatamente sem fazer uma solicitação ao banco de dados. Caso contrário, uma consulta é feita ao banco de dados para uma entidade com os valores de chave primária fornecidos e essa entidade, se encontrada, é anexada ao contexto e retornada. Se nenhuma entidade for encontrada, NULL será retornado.

FindAsync(Type, Object[], CancellationToken)

Localiza uma entidade com os valores de chave primária fornecidos. Se uma entidade com os valores de chave primária fornecidos estiver sendo rastreada pelo contexto, ela será retornada imediatamente sem fazer uma solicitação ao banco de dados. Caso contrário, uma consulta é feita ao banco de dados para uma entidade com os valores de chave primária fornecidos e essa entidade, se encontrada, é anexada ao contexto e retornada. Se nenhuma entidade for encontrada, NULL será retornado.

FindAsync<TEntity>(Object[])

Localiza uma entidade com os valores de chave primária fornecidos. Se uma entidade com os valores de chave primária fornecidos estiver sendo rastreada pelo contexto, ela será retornada imediatamente sem fazer uma solicitação ao banco de dados. Caso contrário, uma consulta é feita ao banco de dados para uma entidade com os valores de chave primária fornecidos e essa entidade, se encontrada, é anexada ao contexto e retornada. Se nenhuma entidade for encontrada, NULL será retornado.

FindAsync<TEntity>(Object[], CancellationToken)

Localiza uma entidade com os valores de chave primária fornecidos. Se uma entidade com os valores de chave primária fornecidos estiver sendo rastreada pelo contexto, ela será retornada imediatamente sem fazer uma solicitação ao banco de dados. Caso contrário, uma consulta é feita ao banco de dados para uma entidade com os valores de chave primária fornecidos e essa entidade, se encontrada, é anexada ao contexto e retornada. Se nenhuma entidade for encontrada, NULL será retornado.

FromExpression<TResult>(Expression<Func<IQueryable<TResult>>>)

Cria um passível de consulta para uma determinada expressão.

OnConfiguring(DbContextOptionsBuilder)

Substitua esse método para configurar o banco de dados (e outras opções) a serem usados para esse contexto. Esse método é chamado para cada instância do contexto que é criado. A implementação base não faz nada.

Em situações em que uma instância de DbContextOptions pode ou não ter sido passada para o construtor, você pode usar IsConfigured para determinar se as opções já foram definidas e ignorar parte ou toda a lógica no OnConfiguring(DbContextOptionsBuilder) .

OnModelCreating(ModelBuilder)

Substitua esse método para configurar ainda mais o modelo que foi descoberto pela Convenção dos tipos de entidade expostos nas DbSet<TEntity> Propriedades no contexto derivado. O modelo resultante pode ser armazenado em cache e usado novamente para instâncias subsequentes de seu contexto derivado.

Query<TQuery>()
Obsoleto.

Cria um DbSet<TEntity> que pode ser usado para consultar instâncias do TQuery .

Remove(Object)

Começa a controlar a entidade especificada no Deleted estado de modo que ela seja removida do banco de dados quando SaveChanges() for chamada.

Remove<TEntity>(TEntity)

Começa a controlar a entidade especificada no Deleted estado de modo que ela seja removida do banco de dados quando SaveChanges() for chamada.

RemoveRange(IEnumerable<Object>)

Começa a controlar a entidade especificada no Deleted estado de modo que ela seja removida do banco de dados quando SaveChanges() for chamada.

RemoveRange(Object[])

Começa a controlar a entidade especificada no Deleted estado de modo que ela seja removida do banco de dados quando SaveChanges() for chamada.

SaveChanges()

Salva todas as alterações feitas neste contexto no banco de dados.

Esse método chamará automaticamente DetectChanges() para descobrir quaisquer alterações em instâncias de entidade antes de salvar no banco de dados subjacente. Isso pode ser desabilitado via AutoDetectChangesEnabled .

SaveChanges(Boolean)

Salva todas as alterações feitas neste contexto no banco de dados.

Esse método chamará automaticamente DetectChanges() para descobrir quaisquer alterações em instâncias de entidade antes de salvar no banco de dados subjacente. Isso pode ser desabilitado via AutoDetectChangesEnabled .

SaveChangesAsync(Boolean, CancellationToken)

Salva todas as alterações feitas neste contexto no banco de dados.

Esse método chamará automaticamente DetectChanges() para descobrir quaisquer alterações em instâncias de entidade antes de salvar no banco de dados subjacente. Isso pode ser desabilitado via AutoDetectChangesEnabled .

Não há suporte para várias operações ativas na mesma instância de contexto. Use ' Await ' para garantir que todas as operações assíncronas tenham sido concluídas antes de chamar outro método neste contexto.

SaveChangesAsync(CancellationToken)

Salva todas as alterações feitas neste contexto no banco de dados.

Esse método chamará automaticamente DetectChanges() para descobrir quaisquer alterações em instâncias de entidade antes de salvar no banco de dados subjacente. Isso pode ser desabilitado via AutoDetectChangesEnabled .

Não há suporte para várias operações ativas na mesma instância de contexto. Use ' Await ' para garantir que todas as operações assíncronas tenham sido concluídas antes de chamar outro método neste contexto.

Set<TEntity>()

Cria um DbSet<TEntity> que pode ser usado para consultar e salvar instâncias do TEntity .

Set<TEntity>(String)

Cria um DbSet<TEntity> que pode ser usado para consultar e salvar instâncias do TEntity .

Update(Object)

Começa a controlar a entidade e as entradas acessíveis da entidade especificada usando o Modified estado por padrão, mas veja abaixo os casos em que um estado diferente será usado.

Em geral, nenhuma interação de banco de dados será executada até que SaveChanges() seja chamado.

Uma pesquisa recursiva das propriedades de navegação será executada para localizar entidades acessíveis que ainda não estão sendo rastreadas pelo contexto. Todas as entidades encontradas serão rastreadas pelo contexto.

Para tipos de entidade com chaves geradas se uma entidade tiver seu valor de chave primária definido, ela será acompanhada no Modified estado. Se o valor da chave primária não for definido, ele será acompanhado no Added estado. Isso ajuda a garantir que novas entidades serão inseridas, enquanto as entidades existentes serão atualizadas. Uma entidade é considerada com seu valor de chave primária definido se a propriedade de chave primária for definida como algo diferente do padrão CLR para o tipo de propriedade.

Para tipos de entidade sem chaves geradas, o estado definido é sempre Modified .

Use State para definir o estado de apenas uma única entidade.

Update<TEntity>(TEntity)

Começa a controlar a entidade e as entradas acessíveis da entidade especificada usando o Modified estado por padrão, mas veja abaixo os casos em que um estado diferente será usado.

Em geral, nenhuma interação de banco de dados será executada até que SaveChanges() seja chamado.

Uma pesquisa recursiva das propriedades de navegação será executada para localizar entidades acessíveis que ainda não estão sendo rastreadas pelo contexto. Todas as entidades encontradas serão rastreadas pelo contexto.

Para tipos de entidade com chaves geradas se uma entidade tiver seu valor de chave primária definido, ela será acompanhada no Modified estado. Se o valor da chave primária não for definido, ele será acompanhado no Added estado. Isso ajuda a garantir que novas entidades serão inseridas, enquanto as entidades existentes serão atualizadas. Uma entidade é considerada com seu valor de chave primária definido se a propriedade de chave primária for definida como algo diferente do padrão CLR para o tipo de propriedade.

Para tipos de entidade sem chaves geradas, o estado definido é sempre Modified .

Use State para definir o estado de apenas uma única entidade.

UpdateRange(IEnumerable<Object>)

Começa a controlar as entidades e entradas fornecidas por padrão das entidades fornecidas usando o Modified estado por default, mas veja abaixo os casos em que um estado diferente será usado.

Em geral, nenhuma interação de banco de dados será executada até que SaveChanges() seja chamado.

Uma pesquisa recursiva das propriedades de navegação será executada para localizar entidades acessíveis que ainda não estão sendo rastreadas pelo contexto. Todas as entidades encontradas serão rastreadas pelo contexto.

Para tipos de entidade com chaves geradas se uma entidade tiver seu valor de chave primária definido, ela será acompanhada no Modified estado. Se o valor da chave primária não for definido, ele será acompanhado no Added estado. Isso ajuda a garantir que novas entidades serão inseridas, enquanto as entidades existentes serão atualizadas. Uma entidade é considerada com seu valor de chave primária definido se a propriedade de chave primária for definida como algo diferente do padrão CLR para o tipo de propriedade.

Para tipos de entidade sem chaves geradas, o estado definido é sempre Modified .

Use State para definir o estado de apenas uma única entidade.

UpdateRange(Object[])

Começa a controlar as entidades e entradas fornecidas por padrão das entidades fornecidas usando o Modified estado por default, mas veja abaixo os casos em que um estado diferente será usado.

Em geral, nenhuma interação de banco de dados será executada até que SaveChanges() seja chamado.

Uma pesquisa recursiva das propriedades de navegação será executada para localizar entidades acessíveis que ainda não estão sendo rastreadas pelo contexto. Todas as entidades encontradas serão rastreadas pelo contexto.

Para tipos de entidade com chaves geradas se uma entidade tiver seu valor de chave primária definido, ela será acompanhada no Modified estado. Se o valor da chave primária não for definido, ele será acompanhado no Added estado. Isso ajuda a garantir que novas entidades serão inseridas, enquanto as entidades existentes serão atualizadas. Uma entidade é considerada com seu valor de chave primária definido se a propriedade de chave primária for definida como algo diferente do padrão CLR para o tipo de propriedade.

Para tipos de entidade sem chaves geradas, o estado definido é sempre Modified .

Use State para definir o estado de apenas uma única entidade.

Eventos

SaveChangesFailed

Um evento acionado se uma chamada para SaveChanges ou SaveChangesAsync falha com uma exceção.

SavedChanges

Um evento disparado no final de uma chamada para SaveChanges ou SaveChangesAsync

SavingChanges

Um evento disparado no início de uma chamada para SaveChanges ou SaveChangesAsync

Implantações explícitas de interface

IDbContextDependencies.ChangeDetector

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextDependencies.EntityFinderFactory

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextDependencies.EntityFinderSource

Esta API dá suporte à infraestrutura de Entity Framework Core e não se destina a ser usada diretamente do seu código. Essa API pode ser alterada ou removida em versões futuras.

IDbContextDependencies.EntityGraphAttacher

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextDependencies.InfrastructureLogger

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextDependencies.QueryProvider

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextDependencies.QuerySource

Esta API dá suporte à infraestrutura de Entity Framework Core e não se destina a ser usada diretamente do seu código. Essa API pode ser alterada ou removida em versões futuras.

IDbContextDependencies.SetSource

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextDependencies.StateManager

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextDependencies.UpdateLogger

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextPoolable.ClearLease()

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextPoolable.ResetState()
IDbContextPoolable.Resurrect(DbContextPoolConfigurationSnapshot)

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextPoolable.SetLease(DbContextLease)

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextPoolable.SetPool(IDbContextPool)

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbContextPoolable.SnapshotConfiguration()

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbQueryCache.GetOrAddQuery(IDbQuerySource, Type)

Esta API dá suporte à infraestrutura de Entity Framework Core e não se destina a ser usada diretamente do seu código. Essa API pode ser alterada ou removida em versões futuras.

IDbSetCache.GetOrAddSet(IDbSetSource, String, Type)

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IDbSetCache.GetOrAddSet(IDbSetSource, Type)

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IInfrastructure<IServiceProvider>.Instance

Obtém o escopo IServiceProvider usado para resolver serviços.

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.

IResettableService.ResetState()

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

IResettableService.ResetStateAsync(CancellationToken)

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 nenhuma versão. Você só deve usá-lo diretamente em seu código com muito cuidado e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão de Entity Framework Core.

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). Em geral, ele não é usado no código do aplicativo.

IInfrastructure<T> é usado para ocultar propriedades que não se destinam a serem usadas no código do aplicativo, mas podem ser usadas em métodos de extensão gravados por provedores de banco de dados, etc.

CreateProxy(DbContext, Type, Object[])

Cria uma instância de proxy para um tipo de entidade se a criação de proxy tiver sido ativada.

CreateProxy<TEntity>(DbContext, Action<TEntity>, Object[])

Cria uma instância de proxy para um tipo de entidade se a criação de proxy tiver sido ativada.

CreateProxy<TEntity>(DbContext, Object[])

Cria uma instância de proxy para um tipo de entidade se a criação de proxy tiver sido ativada.

Aplica-se a