Я пытаюсь разработать систему отката изменений. Я отслеживаю старые значения записи, когда идентификатор записи изменяется или удаляется, а затем я использую эти значения, чтобы повторно вставить его, когда пользователь решит откатить его...
откат выпусков работает как положено.
удаления нет... потому что, когда я присоединяю объект к DBContext, он имеет старый идентификатор, но когда я выполняю DbContext.SaveChanges(); идентификатор заменяется на новый (автоматически увеличивается)
Вот пример кода:
var model = JsonConvert.DeserializeObject(oldValues.OldData, type);
DbSet mySet = this.Set(type);
mySet.Attach(model);
this.Entry(model).State = oldValues.AuditType == 0 ? EntityState.Modified : EntityState.Added;
base.SaveChanges();
в model.Id я вижу правильный идентификатор перед сохранением, но после этого EF меняет его на новый.
Есть ли способ временно установить текущий идентификатор вместо создания нового?
Я пробовал много решений, но ни одно из них не работает.
Спасибо