EF Core затронул 0 строк в SaveChanges () - PullRequest
1 голос
/ 22 апреля 2020

У меня следующий код:

using var db = new DataContext();
var foobar = db.Foobar.First();
foobar.NavProperties.Add(new NavProperty());
db.SaveChanges();

И получаю эту ошибку:

Предполагается, что операция с базой данных повлияет на 1 строку (и), но фактически повлияет на 0 строку (и). Данные могут быть изменены или удалены, так как объекты были загружены

Что может вызвать эту ошибку? Любые идеи? Пожалуйста, скажите мне, если мне нужно предоставить больше информации. Большое спасибо заранее!

1 Ответ

1 голос
/ 27 апреля 2020

Благодаря подсказке @Kirk Woll я понял, что в объявлении первичного ключа моих сущностей отсутствует атрибут [DatabaseGenerated(DatabaseGeneratedOption.Identity)], и он выглядел только так:

[Key] 
public int Id { get; set; }

Так что мне просто пришлось изменить его на:

[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
public int Id { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...