public void EditUser(User user) { var entry = _databaseModel.Entry(user); if (entry.State == EntityState.Detached) { var set = _databaseModel.Set <User>(); var attachedEntity = set.Find(user.UserId); // You need to have access to key if (attachedEntity != null) { var attachedEntry = _databaseModel.Entry(attachedEntity); attachedEntry.CurrentValues.SetValues(user); } else { entry.State = EntityState.Modified; // This should attach entity } } _databaseModel.SaveChanges(); }