如何将导航 属性 配置为 Entity Framework 中的相同 table?

How do I configure a navigation property to the same table in Entity Framework?

如何使用流畅的配置来配置 Entity Framework,使其表现得与我对属性的表现相同:

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

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

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);
}