2

是否可以仅使用属性来完成此操作?

我需要 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"));
4

1 回答 1

1

根据 Julia Lerman 的“Programming Entity Framework: Code First”一书,这应该是可能的。配置取决于它是可选的 1-1 关系还是必需的 1-1 关系。它是通过使用完成的

[钥匙]

[外键]

应用于依赖端的数据注释。本书包含以下示例:

public class PersonPhoto
{
  [Key]
  [ForeignKey("PhotoOf")]
  public int PersonId { get; set; }
  public byte[] Photo { get; set; }
  public string Caption { get; set; }
}
于 2013-01-09T22:25:39.270 回答