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?