В контексте вашего метода действия у вас есть два разных объекта типа Сценарий.сценарий указывает на один из объектов, а updateScenario указывает на другой.С помощью строки кода:
updateScenario = scenario
Все, что вы делаете, заставляете updateScenario указывать на тот же объект, на который указывает сценарий, вы не копируете значения, составляющие объект, из одного в другой.По сути, контекст вашей базы данных знает только 1 из 2 экземпляров сценария.Другой экземпляр сценария был создан вне контекста, и контекст не был информирован об этом.
В вашем конкретном сценарии вы можете достичь желаемого, не используя сценарий для своего параметра, и вместо этого:извлеките сценарий, который вы хотите обновить, из контекста базы данных, и в методе действия вызовите:
this.TryUpdateModel(updateScenario);
Это приведет к тому, что механизм связывания модели обновит свойство / поля объекта сценария, которым является контекст вашей базы данныхзнать, и, следовательно, будут сохраняться изменения, когда вы звоните Save()
.
HTH