Вам нужно что-то вроде этого:
public class Mapping
{
[Key, ForeignKey("Field"), Column(Order=0)]
public int StoreID { get; set; }
[Key, ForeignKey("Field"), Column(Order=1)]
public int ID { get; set; }
[Key, ForeignKey("Template"), Column(Order=2)]
public int TemplateID { get; set; }
public Field Field { get; set; }
public Template Template { get; set; }
}
Для атрибута ForeignKey
вы можете указать порядок составного ключа, как для атрибута Key
. В качестве альтернативы вы также можете поместить атрибут ForeignKey
в свойство навигации и затем указать свойства FK с разделением запятыми:
public class Mapping
{
[Key, Column(Order=0)]
public int StoreID { get; set; }
[Key, Column(Order=1)]
public int ID { get; set; }
[Key, Column(Order=2)]
public int TemplateID { get; set; }
[ForeignKey("StoreID, ID")]
public Field Field { get; set; }
[ForeignKey("TemplateID")]
public Template Template { get; set; }
}
( Редактировать Дубликат Column
атрибут неверен -> Исправлено.)