Entity Framework 5 - DbContext tiene cambios?

Estoy tratando de encontrar una manera de determinar si se han realizado cambios en el contexto de una base de datos (DbContext). Nota: estoy usando Visual Studio 2012 con Entity Framework 5 en un cuadro de Windows 7 de 64 bits.

Cuando solía usar ObjectContext en lugar de DbContext, podía hacer algo como:

public partial class MyObjectContext
{
    public Boolean HasUnsavedChanges()
    {
        return (this.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified | EntityState.Deleted).Any());
    }
}

Ahora que estoy usando DbContext, traté de hacer esto:

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());
    }
}

El problema que tengo es que el método "HasUnsavedChanges ()" siempre devuelve "falso", incluso cuando sé que el contexto ha cambiado. ¿Alguien tiene alguna idea de lo que estoy haciendo mal?

Respuestas a la pregunta(2)

Su respuesta a la pregunta