Спасибо. Я пробовал оба варианта решений, и оба варианта отлично работают. Я потратил много времени на поиски ответа. Я должен был сделать вопрос ранее на стека overflow.

ичок в EF. И я столкнулся с проблемой с созданием отношения «многие ко многим». Я пытался использовать решение из:Entity Framework Core: отношение «многие ко многим» с одним и тем же объектом

мои лица:

public class WordEntity
{
    public long Id { get; set; }
    public string Name { get; set; }
    public string Json { get; set; }

    public virtual List<WordSinonymEntity> Sinonyms { get; set; }
}


public class WordSinonymEntity
{
    public long WordId { get; set; }
    public virtual WordEntity Word { get; set; }

    public long SinonymId { get; set; }
    public virtual WordEntity Sinonym { get; set; }
}

и следующая конфигурация:

 modelBuilder.Entity<WordSinonymEntity>()
     .HasOne(pt => pt.Sinonym)
     .WithMany(p => p.Sinonyms)
     .HasForeignKey(pt => pt.SinonymId);

modelBuilder.Entity<WordSinonymEntity>()
    .HasOne(pt => pt.Word)
    .WithMany(t => t.Sinonyms)
    .HasForeignKey(pt => pt.WordId);`

но это приводит к следующему исключению.

System.InvalidOperationException: «Невозможно создать связь между« WordEntity.Sinonyms »и« WordSinonymEntity.Word », поскольку между« WordEntity.Sinonyms »и« WordSinonymEntity.Sinonym »уже есть связь. Свойства навигации могут участвовать только в одном отношении. '

Кто-нибудь может мне помочь или может быть предложить несколько примеров для изучения? Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос