Entity Framework 5 - есть ли изменения в DbContext?

Я пытаюсь найти способ определить, какие изменения были внесены в контекст базы данных (DbContext). Примечание. Я использую Visual Studio 2012 с Entity Framework 5 в 64-разрядной версии Windows 7.

Назад, когда я использовал ObjectContext вместо DbContext, я мог сделать что-то вроде:

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

Теперь, когда я использую DbContext, я попытался сделать это:

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

Проблема, с которой я сталкиваюсь, заключается в том, что метод "HasUnsavedChanges ()" всегда возвращать & quot; ложь & quot; даже когда я точно знаю, что контекст изменился. У кого-нибудь есть идеи относительно того, что я делаю неправильно?

Ответы на вопрос(2)

Ваш ответ на вопрос