Не могу 2 подряд загрузить данные в БД

Рейтинг: 0Ответов: 0Опубликовано: 09.08.2023

Сабж. Имею такие модели.

    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 и он каждый раз пересоздается.

Ответы

Ответов пока нет.