Я могу добавить объект, но при попытке обновить Entity Framework не работает. Вот что я делаю:
Получить модель в действии фильтра в веб-API. Я ищу некоторые данные об этой модели в базе данных и использую их для изменения / гидратации различных частей модели. Да , так и должно быть.
Контроллер работает. Контроллер ничего не делает, кроме передачи модели в репозиторий для сохранения.
Репозиторий проверяет, существует ли модель с таким идентификатором в базе данных. Если это так, он пытается присоединиться, а затем сохранить.
Код:
_db.Airplanes.Attach(airplane);
// _db.Entry(airplane).State = EntityState.Modified; // doesn't do anything
_db.SaveChanges();
Это не работает. Вместо этого он выдает это сообщение об ошибке:
System.Data.Entity.Core.OptimisticConcurrencyException: 'Оператор хранения, вставки или удаления затронул неожиданное количество строк (0). Объекты могут быть изменены или удалены с момента загрузки объектов. См. http://go.microsoft.com/fwlink/?LinkId=472540 для получения информации о понимании и обработке исключений оптимистичного параллелизма. '
Возможно, проблема в том, что я изначально вернул сущность в Фильтр действий, и с тех пор она вышла из контекста или что-то в этом роде? В любом случае я не знаю, почему Entity Framework не позволяет мне просто добавить его обратно.
Редактировать : Я вынужден редактировать это, чтобы объяснить, как это не решается другим вопросом. ... ммм, это не так. Бремя доказывания должно лежать на лице, предъявляющем иск.