Создать составной ключ EF Core - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь создать составной ключ EF Core и иметь 1 отношение к таблице TypeOfPlace и 2 отношения к 1, поданному в таблице Person, это id. Это таблица, где должен быть составной ключ:

public class RankingOfFriend : BaseEntity
{
    [Required]
    public int Mark { get; set; }
    [Required]
    public System.DateTime DateTimeOfAdding { get; set; }

    [Required]
    public int TypeOfPlaceId { get; set; }
    public TypeOfPlace TypeOfPlace { get; set; }

    [Required]
    [ForeignKey("Person")]
    public int PersonId { get; set; }
    public Person Person { get; set; }

    [Required]
    [ForeignKey("Person1")]
    public int FriendId { get; set; }
    public Person Person1 { get; set; }
}

Это таблица Person:

    [InverseProperty("Person")]
    public ICollection<RankingOfFriend> RankingOfFriends { get; set; }

    [InverseProperty("Person1")]
    public ICollection<RankingOfFriend> RankingOfFriends1 { get; set; }
    public Person()
    {
        RankingOfFriends = new List<RankingOfFriend>();
        RankingOfFriends1 = new List<RankingOfFriend>();
    }

И у меня есть этот метод:

protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<RankingOfFriend>().HasKey(table => new { table.PersonId, table.FriendId, table.TypeOfPlaceId });}

Я думаю с TypeOfPlace все хорошо, но с 2 отношениями у меня есть некоторые проблемы

Невозможно определить отношение, представленное свойством навигации 'Person.RankingOfFriends1' типа 'ICollection'. Либо настройте отношение вручную, либо игнорируйте это свойство с помощью атрибута «[NotMapped]» или с помощью «EntityTypeBuilder.Ignore» в «OnModelCreating».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...