1

如何使用流畅的配置来配置实体框架,使其行为方式与使用属性相同:

public class Product
{
    public int? ParentId { get; set; }
    [ForeignKey("ParentId")]
    public virtual Product Parent { get; set; }
}
4

1 回答 1

3

假设你想创建一个自引用实体,我假设你有一个这样的Product类:

public class Product
{
    public int Id { get; set; }

    public int? ParentId { get; set; }

    public virtual Product Parent { get; set; }
}

在上下文中,您需要实现该OnModelCreating方法才能配置自引用。

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
  modelBuilder.Entity<Product>().
       HasOptional(e => e.Parent).
       WithMany().
       HasForeignKey(m => m.ParentId);
}
于 2015-01-15T17:20:48.280 回答