Если вы изменили действие и не хотите его изменять, вы можете либо отсоединить его от контекста, либо установить его как неизмененный (это похоже на хак).
Отсоединение объекта:
context.Detach(action);
Установка состояния без изменений:
context.ObjectStateManager.ChangeObjectState(action, EntityState.Unchanged);
Имейте в виду, что если вы также изменили отношение между действием и пользователем, вам также необходимо будет повторно выполнитьсостояние отношения, позвонив ObjectStateManager.ChangeRelationshipState
.
В любом случае вы делаете что-то не так, потому что такая ситуация не должна возникать.Вы всегда должны изменять только те объекты, которые хотите сохранить.Если по какой-либо причине вам нужно изменить только часть из них, ваш подход к клонированию сущностей и изменить их в другом контексте является правильным.Контекст - это единица работы.Вам следует изменять только те объекты, которые являются частью одной и той же бизнес-операции.