连接表中的额外字段与EntityFramework中的DataAnotations

时间:2015-07-24 19:25:59

标签: c# entity-framework orm

首先,我需要说我已经检查了stackoverflow上的其他类似问题,所有这些问题都使用了Fulent API或......来执行此操作。

我试图在EntityFramework的联结表中添加一个额外字段,但只有PrimaryKeys。

有人知道我怎么能用DataAnnotation做到这一点?

1 个答案:

答案 0 :(得分:0)

如果要在联结表中添加额外的列,则没有其他选择将该表映射为实体,并在其与所涉及的实体之间创建两个一对多的关系,例如:

public class A
{
   public int Id{get;set;}
   //...
   public virtual ICollection<AB> ABs{get;set;}
}

public class B
{
   public int Id{get;set;}
   //...
 public virtual ICollection<AB> ABs{get;set;}
}

public class AB
{
   [Key,ForeignKey("A"),Column(Order=1)]
   public int AId{get;set;}

   [Key,ForeignKey("B"),Column(Order=2)]
   public int BId{get;set;}

   public virtual A A{get;set;}
   public virtual B B{get;set;}

   //Add here the extra column(s)
}