Не могу 2 подряд загрузить данные в БД
Сабж. Имею такие модели.
public class Video
{
public int Id { get; set; }
public List<AuthorComment> AuthorComments { get; set; } = new();
}
public class AuthorComment
{
public int Id { get; set; }
public List<Video> Videos { get; set; } = new();
}
Код которым я связываю объекты.
using (Context app = new Context())
{
if (author.Videos.Where(i => i.Url == video.Url).Count() == 0)
{
author.Videos.Add(video);
app.AuthorComments.Update(author);
}
app.SaveChanges();
}
При первом выполнении этого кода все хорошо. А при втором ошибка.
Microsoft.EntityFrameworkCore.DbUpdateException: "An error occurred while saving the entity changes. See the inner exception for details."
MySqlException: Duplicate entry '16-1' for key 'authorcommentvideo.PRIMARY'
То есть когда программа выполняет 2 раз этот кусок то вылетает ошибка. Причем когда я снова пытаюсь выполнить код берет тот объект на котором в прошлый раз была ошибка и добавляет его, а на следующем снова ошибка. Такое чувство будто бы пытается добавить старый объект который уже есть в бд. В моем случае меняется только AuthorComment
и он каждый раз пересоздается.
Источник: Stack Overflow на русском