我有两个实体(Case和Person)在多对多关系中,在关系表上有一个额外的数据字段(CasePerson with PersonType)。
public class Case {
public int Id;
public List<CasePerson> CasePeople;
}
public class Person {
public int Id;
public List<CasePerson> CasePeople;
}
public class CasePerson {
public int Id;
public int CaseId;
public int PersonId;
public string Type;
public Person Person;
public Case Case;
}
我想在关系表上创建一个复合键,这样一个人与案例的配对是唯一的。我还想在CasePerson表上维护一个单独的主键,以便通过我的Web API控制器进行操作。 EF或Fluent API中是否有一种方法可以在此CasePerson表上定义两个键?
答案 0 :(得分:0)
我能够通过添加
来实现这一目标
[Index("IX_CasePerson", 1, IsUnique=true)]
到PersonId和
[Index("IX_CasePerson", 2, IsUnique=true)]
到CaseId。这个唯一索引强制列配对是唯一的。