表ID字段会自动附加表名,从而产生无效的列名

时间:2019-05-26 11:08:55

标签: entity-framework ef-core-2.2

插入表时,我具有表类别ID列,显示它显示错误SqlException:无效的列名'CategoriesId'。

idemixgen

1 个答案:

答案 0 :(得分:1)

CategoriesId是与

引入的一对多自我关系相关联的外键属性/列的常规名称。
public List<Categories> children { get; set; }

Categories实体中的集合导航属性。

查看实体模型,最有可能的想法是为此目的使用ParentId。由于它与EF Core命名约定不匹配,因此必须使用ForeignKey数据注释来明确映射它:

[ForeignKey(nameof(ParentId))]
public List<Categories> children { get; set; }

OnModelCreating中的流畅API覆盖:

modelBuilder.Entity<Categories>()
    .HasMany(e => e.children)
    .WithOne()
    .HasForeignKey(e => e.ParentId);