Отображение 1: 1. Невозможно вставить явное значение для столбца идентификаторов в таблице «DivisionParticipant», если для параметра IDENTITY_INSERT задано значение OFF. - PullRequest
0 голосов
/ 13 октября 2018

Мне нужно было 1:1 отображение DivisionParticipant и Team с обоими идентификаторами с автоматическим приращением.Я сделал это, потому что мы хотели использовать Nullable FK, Team и Player.Раньше Team ID было от PK до DivisionParticipant ID, но теперь DivisionParticipant ID - это автоинкремент, и теперь Team добавляется как свойство с FK, чтобы получить 1: 1.Это работает нормально, и при чтении понадобились минимальные изменения кода, но теперь при сохранении мы получаем эту ошибку ниже.Идентификатор DivisionParticipant был сделан для автоинкремента, поэтому я не уверен, о каком столбце идет речь?

Невозможно вставить явное значение для столбца идентификаторов в таблице «DivisionParticipant», когда для IDENTITY_INSERT установлено значение OFF

Классы

public class DivisionParticipant
{
    public int Id {get; set;}
    public virtual Team Team { get; set; }
    public virtual Player Player { get; set; }
}

 public class Team 
{
    public int Id {get; set;}
    public virtual DivisionParticipant DivisionParticipant { get; set; }
}

DataContext

        modelBuilder.Entity<Team>()
        .HasOptional(t => t.DivisionParticipant)
        .WithRequired(t => t.Team);

1 Ответ

0 голосов
/ 14 октября 2018

EF6 не поддерживает отношения 1: 1 без FK на зависимой стороне, являющейся PK, что означает, что PK на одной стороне не может использовать идентичность.Проверьте этот ответ для объяснения от менеджера программы EF.

...