Множественное отношение «многие-к-могут» к одному и тому же объекту

#c# #.net-core #ef-core-3.1

#c# #.net-ядро #ef-core-3.1

Вопрос:

Я использую EF Core 6.0 с .NET Core 6.0 и MySQL. У меня есть следующие 2 модели:

 public class User {  [Key]  public int Id {get; set;}  public virtual Listlt;ConsumerClubgt;? ConsumerClubs { get; set; } }  public class ConsumerClub {  [Key]  public int Id {get; set;}  public virtual Listlt;Usergt;? Owners { get; set; }  public virtual Listlt;Usergt;? Members { get; set; } }  

Как вы можете видеть, моя организация ConsumerClub должна иметь отношения с одной и той же организацией пользователя, но по двум разным причинам: одна — список владельцев, другая-список участников.

Мне не удается заставить его работать. Ошибка, которую я получаю, заключается в следующем:

 An unhandled exception of type 'System.InvalidOperationException' occurred in Microsoft.EntityFrameworkCore.dll: 'Unable to determine the relationship represented by navigation 'ConsumerClub.Owners' of type 'Listlt;Usergt;'. Either manually configure the relationship, or ignore this property using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in 'OnModelCreating'.'  

Затем я попытался создать связь вручную в OnodelCreating со следующими изменениями:

 modelBuilder.Entitylt;ConsumerClubgt;()  .HasMany(x =gt; x.Owners)  .WithMany(y =gt; y.ConsumerClubs)  ;   modelBuilder.Entitylt;ConsumerClubgt;()  .HasMany(x =gt; x.Members)  .WithMany(y =gt; y.ConsumerClubs)  ;  

Затем я получаю следующую ошибку:

 An unhandled exception of type 'System.InvalidOperationException' occurred in Microsoft.EntityFrameworkCore.dll: 'The skip navigation 'ConsumerClub.Members' doesn't have a foreign key associated with it. Every skip navigation must have a configured foreign key.'  

Не уверен, как установить внешний ключ или где…

Любая помощь была бы очень признательна.

Янив