我试图创建一个能够包含父类别和子类别的类别。但由于某种原因,它不会在我的数据库中正确映射。
这是我的班级:
public class Category:EntityBase
{
public Guid? ParentCategoryId { get; set; }
public virtual Category ParentCategory { get; set; }
public virtual List<Category> ChildCategories { get; set; }
public List<ProductBase> Products { get; set; }
public string Name { get; set; }
public int Position { get; set; }
}
实体库是一个抽象类,其id为guid和其他信息。
我的模型构建器如下:
builder.Entity<Category>()
.HasOptional(i => i.ParentCategory)
.WithMany(i => i.ChildCategories)
.HasForeignKey(i => i.ParentCategoryId);
这是我在其他SO帖子中找到的解决方案。但它只在我的数据库中创建一个表,它看起来像这样: