使用 Fluent API 在 3 个实体中配置 1 对 1 和多对多

Configure 1 to 1 and many to many in 3 Entities using Fluent API

我是流利的新手API请多多包涵。我有三个实体学生、地址和课程,学生和地址应该是 1:1 关系,学生和课程应该是 m:m(多对多)。

我的问题是我应该将课程和地址实体定义为多对多,还是如果我想知道特定地址正在学习多少课程(单向关联),我应该只通过学生访问联系人 以下是我的流利 api 映射,我已将配置移到外面。

     public CourseMappings()
                {
                    HasMany<User>(s => s.Student)
                        .WithMany(c => c.Course);
                }

 public AddressMappings()
            {

                HasRequired(c => c.Student)
                .WithRequiredDependent(u => u.Address);
            }


public StudentMapping()
            {

                HasRequired(c => c.Address)
                .WithRequiredPrincipal(u => u.Student);

            }

我如何使用流利的方式映射课程和地址实体api,我真的需要吗?或者学生与课程的关联是否足够?

您不需要映射课程和地址,因为您可以通过学生课程协会访问地址。当您访问学生时,您可以获得地址,所以您所做的是好的。