Obiekt z tym samym kluczem już istnieje w ObjectStateManager. ObjectStateManager nie może śledzić wielu obiektów za pomocą tego samego klucza
Używanie EF5 z ogólnym wzorem repozytorium i ninject w celu wprowadzenia zależności i uruchomienia problemu podczas próby aktualizacji obiektu do bazy danych przy użyciu przechowywanych proc z moim edmx.
moja aktualizacja w DbContextRepository.cs to:
public override void Update(T entity)
{
if (entity == null)
throw new ArgumentException("Cannot add a null entity.");
var entry = _context.Entry<T>(entity);
if (entry.State == EntityState.Detached)
{
_context.Set<T>().Attach(entity);
entry.State = EntityState.Modified;
}
}
Z mojego AddressService.cs, który wraca do mojego repozytorium, mam:
public int Save(vw_address address)
{
if (address.address_pk == 0)
{
_repo.Insert(address);
}
else
{
_repo.Update(address);
}
_repo.SaveChanges();
return address.address_pk;
}
Kiedy uderza w Attach and EntityState.Modified to wymiotuje z błędem:
Obiekt z tym samym kluczem już istnieje w ObjectStateManager. ObjectStateManager nie może śledzić wielu obiektów za pomocą tego samego klucza.
Przejrzałem wiele sugestii w stosie iw Internecie i nie wymyśliłem niczego, co by go rozwiązało. Wszelkie prace będą mile widziane.
Dzięki!