ExpertiDict

C# · Intermediário · Inglês · Técnico

DbContext

/ˌdi ˈbi ˈkɑntɛkst/substantivo

Classe central do EF Core que representa uma sessão com o banco: expõe os DbSet das entidades, rastreia mudanças e grava tudo com SaveChanges.

Onde usar

Aparece na configuração do EF e em repositórios e handlers. É leve e de vida curta, registrado como Scoped, e não é thread-safe: nunca compartilhe uma instância entre requisições ou threads.

Em código

class LojaDb(DbContextOptions<LojaDb> o)
  : DbContext(o)
{
  public DbSet<Livro> Livros => Set<Livro>();
}

Exemplos

Register the DbContext as scoped.

Registre o DbContext como scoped.

A DbContext is not thread-safe.

Um DbContext não é thread-safe.

Cuidado

Não use como Singleton nem guarde em campo estático: o rastreamento de mudanças cresce sem parar e causa erros de concorrência.

Veja também

Todos os termos de C#