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?