首先,我需要说我已经检查了stackoverflow上的其他类似问题,所有这些问题都使用了Fulent API或......来执行此操作。
我试图在EntityFramework的联结表中添加一个额外字段,但只有PrimaryKeys。
有人知道我怎么能用DataAnnotation做到这一点?
答案 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)
}