Entity Framework 6 - несколько добавленных объектов могут иметь один и тот же первичный ключ - PullRequest
0 голосов
/ 06 июля 2018

У меня есть следующий код, в который я хочу добавить две записи перед сохранением:

        ticket.Open();

        var post = new Post
        {
            TicketId = dto.TicketId,
            PostContent = "Ticket status changed to Open",
            IsAutomatic = true
        };

        ticket.AddPost(post);

        post = new Post
        {
            TicketId = dto.TicketId,
            PostContent = HttpUtility.HtmlEncode(dto.Comments)
        };

        ticket.AddPost(post);


        var notification = Notification.TicketReopened(post);

        _unitOfWork.Complete();

Пост принадлежит тикету. Уведомление для поста.

Однако я получаю следующую ошибку:

Unable to determine the principal end of the 'Notification_Post' relationship. Multiple added entities may have the same primary key.

Единственный способ, которым я могу это исправить - это позвонить _unitOfWork.Complete() после добавления первого сообщения и затем снова вызвать его в конце.

_unitOfWork.Complete() просто делает следующее:

    public void Complete()
    {
        _context.SaveChanges();
    }

Однако мне нужно завершить всю транзакцию в целом.

Как я могу исправить?

...