是否可以仅使用属性来实现这一点?
我需要Class2表拥有自己的Id主键和一个名为Class2Id的列,它是Class1.Id的外键。
public class Class1
{
public virtual int Id { get; set; }
public virtual Class2 Class2 { get; set; }
}
public class Class2
{
public virtual int Id { get; set; }
public virtual Class1 Class1 { get; set; }
}
我可以使用以下方法使用流畅的映射来实现:
modelBuilder.Entity<Class1>()
.HasRequired(x => x.Class2)
.WithRequiredPrincipal(x => x.Class1)
.Map(x => x.MapKey("Class1Id"));
答案 0 :(得分:1)
根据Julia Lerman撰写的“编程实体框架:代码优先”一书,它应该是可能的。配置取决于它是可选的1-1关系还是需要1-1的关系。 它是通过使用
完成的[关键]
和
[ForeignKey的]
在依赖端应用的数据注释。 该书包含以下示例:
public class PersonPhoto
{
[Key]
[ForeignKey("PhotoOf")]
public int PersonId { get; set; }
public byte[] Photo { get; set; }
public string Caption { get; set; }
}