#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.'
Не уверен, как установить внешний ключ или где…
Любая помощь была бы очень признательна.
Янив