Entity Framework 5 - DbContext ma zmiany?

Próbuję znaleźć sposób na określenie wszelkich zmian w kontekście bazy danych (DbContext). Uwaga: Używam programu Visual Studio 2012 z Entity Framework 5 w systemie Windows 7, 64-bitowym.

Kiedy użyłem ObjectContext zamiast DbContext, mogłem zrobić coś takiego:

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

Teraz, gdy używam DbContext, próbowałem to zrobić:

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

Mam problem z tym, że metoda „HasUnsavedChanges ()” zawsze zwraca „false”, nawet jeśli wiem, że kontekst został zmieniony. Czy ktoś ma jakieś pomysły, co robię źle?

questionAnswers(2)

yourAnswerToTheQuestion