Есть ли способ изменить значение поля, установленного на «StoreGeneratedPattern = Computed» - PullRequest
1 голос
/ 21 апреля 2019

У меня в таблице int установлено значение default 0.Я установил StoreGeneratedPattern в этом поле как Computed, но не могу изменить значение этого поля после использования SaveChanges().Я нашел этот ответ на ту же проблему, просто интересно, есть ли лучший способ сделать это.

Редактировать

вот edmxгенерируется из базы данных (структура сущностей 6)

enter image description here

это результат после добавления (из моего приложения) некоторых данных в таблицу Intervention и по мере того, как высм. IsDeleted установлен в 0 из-за IsDeleted int default 0

enter image description here

и

enter image description here

Но после попытки чего-то подобного

 db.Interventions.Find(currentInterv).IsDeleted = 1;
 db.SaveChanges();

просто не работает из-за StoreGeneratedPattern = Computed

1 Ответ

0 голосов
/ 22 апреля 2019

В EF6 на основе EDMX единственное, что вы можете сделать, - это использовать запрос хранилища для изменения значения столбца. С помощью code-first вы можете создать дополнительный подтип DbContext с другими метаданными отображения.

Но IsDeleted, вероятно, не должен быть StoreGenerated. Вы можете установить значение по умолчанию 0 в базе данных и в модели Entity, просто объявив его как int, а не int?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...