Я пытаюсь создать составной ключ 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».