Asp.net mvc EF Code First-如何对具有自身集合属性的实体进行模型创建编码?

Asp.net mvc EF Code First-如何对具有自身集合属性的实体进行模型创建编码?,asp.net-mvc,database,entity-framework,Asp.net Mvc,Database,Entity Framework,我有一个实体,它有一个属性,这个属性是它自身的集合。如何编程我的类和OnModelCreating以正确创建数据库表 public class Category{ public int Id { get; set; } public string Name { get; set; } public ICollection<Category> PriorCategories { get; set; } } 公共类类别{ 公共int Id{get;set;} 公共字符串名称

我有一个实体,它有一个属性,这个属性是它自身的集合。如何编程我的类和OnModelCreating以正确创建数据库表

public class Category{
  public int Id { get; set; }
  public string Name { get; set; }
  public ICollection<Category> PriorCategories { get; set; }
}
公共类类别{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共ICollection优先级类别{get;set;}
}
因此,对于最终结果,我希望我的数据库映射表(PriorCategories)如下所示:

Id-PK ParentCategoryId-FK到类别表 ChildCategoryId-FK到类别表

如何设置类和/或编写重写的OnModelCreating函数


谢谢

无需在OnModelCreating中执行任何操作-以下模型类将完美地设置与自身的关系:

public class Category
{
    public int Id { get; set; }
    public int? ParentCategoryId { get; set; }
    public virtual Category ParentCategory { get; set; }
    public virtual ICollection<Category> Children { get; set; }
}
公共类类别
{
公共int Id{get;set;}
public int?ParentCategoryId{get;set;}
公共虚拟类别ParentCategory{get;set;}
公共虚拟ICollection子项{get;set;}
}