2016-07-24 80 views
0

对流畅API的新增功能非常适合我。我有三个实体学生,地址和课程,学生和地址应该是1:1的关系,学生和课程应该是m:m(多对多)。使用Fluent API在3个实体中配置1对1和多对多

我的问题是我应该定义的课程和地址实体为多人对多人,或者我应该只是通过学生访问联系人,如果我想知道有多少课程正在由一个特定的地址(单向关联) 下面是我的流利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课程和地址实体,就真的我需要或者是学生&当然足够的关联?

+1

你确定Student-Address有一对一的关系吗?例如,有可能两个学生有相同的地址。但是,如果是这样的话,你可以通过学生查询地址的课程,而且你不需要定义一个新的关系。 –

回答

1

你不需要映射课程和地址,因为你可以通过学生课程协会访问地址。当你访问学生,你可以得到地址,所以你做了什么就可以了。