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?

questionAnswers(2)

yourAnswerToTheQuestion