ExpertiDict

C# · Avançado · Inglês · Técnico

change tracker

/tʃeɪndʒ ˈtrækɚ/substantivo

Mecanismo do EF Core que guarda o estado (Added, Modified, Deleted, Unchanged) de cada entidade carregada e, no SaveChanges, gera os comandos SQL só para o que mudou.

Onde usar

Aparece ao depurar por que um UPDATE não foi gerado ou por que há UPDATEs inesperados. Inspecionar db.ChangeTracker.DebugView mostra o que o EF acha de cada entidade, e rastrear milhares de entidades custa memória.

Em código

var l = await db.Livros.FirstAsync();
l.Titulo = "Novo";
db.ChangeTracker.DetectChanges();
var estado = db.Entry(l).State; // Modified
await db.SaveChangesAsync();

Exemplos

Check the change tracker to see why nothing was saved.

Veja o change tracker para entender por que nada foi salvo.

The change tracker is holding thousands of entities.

O change tracker está segurando milhares de entidades.

Cuidado

Não deixe o contexto vivo por muito tempo: o tracker acumula entidades e mantém dados velhos em cache.

Sinônimos

rastreador de mudanças

Veja também

Todos os termos de C#