我有一些有一对多关系的课程,如下所示:
public class A
{
public int Ax { get; set; }
public int Ay { get; set; }
}
public class B
{
public int Id { get; set; }
public int Bx { get; set; }
public List<A> By { get; set; }
}
public class C
{
public int Id { get; set; }
public int Cx { get; set; }
public List<A> Cy { get; set; }
}
我需要当A具有一对多关系时,它会为该关系生成表格而不需要创建具体的类,如AB或AC,因此在此示例中,最终数据库应该具有 4表之类的东西:
表B(id,bx)1 -----&gt; 1 .. *表BA(B_id *,ax,ay)
表C(id,cx)1 -----&gt; 1 .. *表CA(C_id *,ax,ay)
*必填字段
和EF配置如:
public class AConfiguration : ComplexTypeConfiguration<A>
{
public AConfiguration()
{
ToTable(); // this line force all relationship create table
}
}
public class BConfiguration : EntityTypeConfiguration<B>
{
public BConfiguration()
{
ToTable("B");
HasKey(p => p.Id);
HasRequired(b=>b.By).WithRequiredDependent();
}
}
public class CConfiguration : EntityTypeConfiguration<C>
{
public CConfiguration()
{
ToTable("C");
HasKey(p => p.Id);
HasRequired(c=>c.Cy).WithRequiredDependent();
}
}
如何配置EF以从我的班级生成数据库架构?