C# · Avançado · Inglês · Técnico
change tracker
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