Entity Framework 5 - DbContext tem alterações?
Eu estou tentando encontrar uma maneira de determinar de quaisquer alterações foram feitas para um contexto de banco de dados (DbContext). Nota: Estou usando o Visual Studio 2012 com o Entity Framework 5 em uma caixa do Windows 7 de 64 bits.
Quando eu costumava usar o ObjectContext em vez do DbContext, eu poderia fazer algo como:
public partial class MyObjectContext
{
public Boolean HasUnsavedChanges()
{
return (this.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified | EntityState.Deleted).Any());
}
}
Agora que estou usando o DbContext, tentei fazer isso:
public partial class MyDbContext
{
public ObjectContext ObjectContext()
{
return (this as IObjectContextAdapter).ObjectContext;
}
public Boolean HasUnsavedChanges()
{
return (this.ObjectContext().ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified | EntityState.Deleted).Any());
}
}
O problema que estou tendo é que o método "HasUnsavedChanges ()" sempre retorna "false" mesmo quando eu sei de fato que o contexto foi alterado. Alguém tem alguma idéia do que estou fazendo de errado?