class1
{
[key]
public string id1 {get; set;}
[Key]
public string key2 {get; set;}
}
class2
{
[foreignKey("class1")]
public string class1Id{ get; set; }
}
现在在class2
内,我只想将id1
的{{1}}列用作外键。
该怎么做?
答案 0 :(得分:0)
如果您更喜欢数据注释,只需在导航属性上应用ForeignKey属性,并提供一个以逗号分隔的列表以及FK属性名称
class1{
[key]
public string id1 {get; set;}
[Key]
public string key2 {get; set;}
}
class2{
public string id1 { get; set;}
public string key2 { get; set;}
[ForeignKey("id1,key2")] // <= the composite FK
public virtual class1 class1{ get; set; }
}
使用流畅的API配置更容易理解,并且更不易出错:
modelBuilder.Entity< class2>()
.HasRequired(e => e. class1)
.HasForeignKey(e => new { e.id1, e.key2 });