1
我有兩個實體(個案和人)與關係表上的額外數據字段(CasePerson與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表上定義兩個鍵的方法?
[創建複合關鍵實體框架]的可能重複(http://stackoverflow.com/questions/14873169/creating-composite-key-entity-framework) – 2014-11-06 19:53:35
我沒有試圖將複合關鍵字作爲外部關係的關鍵;相反,我試圖保證組合{CaseId,PersonId}對每個CasePerson都是唯一的。我知道我可以將它作爲複合主鍵,但我不想從CasePerson中刪除已存在的主鍵ID。 – user3897692 2014-11-06 20:36:17
我可以通過向CaseId添加'[Index(「IX_CasePerson」,1,IsUnique = true)]'來實現此目的。這個獨特的索引強制列配對是唯一的。 – user3897692 2014-11-07 20:29:24