EntityFramework не может сохранить изменения без ошибок - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть класс AppUser, который передается из C # в Angular и обратно в C # .

AppUser содержит внешний ключ ссылку на Contact.

Объект Contact создан и передан обратно через Angular .

Однако, когда я звоню context.SaveChanges(), ссылка AppUser на Contact не обновляется.Ошибки не выбрасываются.Есть идеи, как решить эту проблему?

DbContext _ic = new DbContext(); //context declaration
public async Task<ActionResult<AppUser>> UpdateUser([FromBody]AppUser au)
{ //BREAKPOINT HERE TO CONFIRM THE au.EmailContact.Id<=0  IT IS
   try
   {
      if (au.EmailContact.Id <= 0)
         _ic.Contact.Add(au.EmailContact); //if contact was changed start tracking the new one
      if (au.PhoneContact.Id <= 0)
         _ic.Contact.Add(au.PhoneContact);

      _ic.SaveChanges(); //generates ID for phone/email contact
   }
   catch (Exception e)
   { //BREAKPOINT HERE
   }
}

1 Ответ

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

Вероятно, это связано с асинхронным ожиданием. Если вы добавляете объекты правильно и можете выбирать записи из _ic.Contact, то

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