Я перевожу классическую базу данных SQL на EF core 2.2 и сталкиваюсь с проблемой.
Я не новичок в EF, но я не понимаю, как это сделать ...
Вот проблема, у меня есть таблица Users
, таблица Groups
и таблица Members
. Участники - это пользователи, которые составляют группы. Я упростил модели и сохранил только ключи:
public class User
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public virtual ICollection<Group> Groups { get; set; }
}
public class Member
{
[Key]
public int UserId { get; set; }
[ForeignKey(nameof(UserId))]
public virtual User User { get; set; }
[Key]
public int GroupId { get; set; }
[ForeignKey(nameof(GroupId))]
public virtual Group Group { get; set; }
}
public class Group
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public virtual ICollection<Member> Members { get; set; }
}
В классическом SQL я могу объединять таблицы по ключу, но как я могу «перейти» с Users
на Groups
, как User.Groups
?