У меня есть сущность следующим образом
public class Application
{
public int Id { get; set; }
public string OfficeName { get; set; }
public Person Persons { get; set; }
}
public class Person
{
public int Id { get; set; }
public string Name{ get; set; }
public List<PersonContact> Contacts{ get; set; }
}
public class PersonContact
{
public int Id { get; set; }
public string ContactName { get; set; }
}
public void InsertApplication(Application app)
{
_applicationDbSet.Add(app);
_personDbSet.AddOrUpdate(app.Person);
_dbContext.SaveChanges(); //exception occur here
}
Я пытаюсь вставить Application
в БД.После добавления заявки в DBSet
я проверяю, не вышел ли человек из БД по имени.Когда я смотрю ChangeTraker
все хорошо видно.Application
добавлено.Person
изменено и PersonContact
добавлено.Когда я вызываю SaveChanged
, я получаю сообщение об ошибке:
Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException: «Ожидается, что операция с базой данных затронет 1 строку (и), но фактически затронет 104 строки (ей).Данные могут быть изменены или удалены с момента загрузки объектов.
Почему возникает доза этого исключения?Может кто-нибудь объяснить, почему, если это нормально