繁体   English   中英

使用self配置Entity Framework Core 2.x表关系

Configuring Entity Framework Core 2.x Table relation with self

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

尝试使用EF Core 2.1配置一对多自我关系。 和流利的Api

这是我的配置

modelBuilder.Entity<ProductCategory>().Property(prop => prop.ParentCategoryId).HasDefaultValue(null);
modelBuilder.Entity<ProductCategory>()
     .HasOne(principal => principal.ParentCategory)
     .WithMany(dependent => dependent.ProductCategories)
     .HasForeignKey(fk => fk.ParentCategoryId)
     .IsRequired(false)
     .OnDelete(DeleteBehavior.SetNull);

这是模型

public class ProductCategory 
{
    public short Id { get; internal set; }
    public string Name { get; internal set; }
    public string Description { get; internal set; }

    public short? ParentCategoryId { get; internal set; }
    public ProductCategory ParentCategory { get; internal set; }

    public IEnumerable<Product> Products { get; internal set; }
    public IEnumerable<ProductCategory> ProductCategories { get; internal set; }
}

运行时

添加迁移名称

我得到这个例外

在表'ProductCategories'上引入FOREIGN KEY约束'FK_ProductCategories_ProductCategories_ParentCategoryId'可能会导致循环或多个级联路径。 指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 无法创建约束或索引。 请参阅先前的错误。

我做错了什么? 解决办法是什么 ?

问题暂未有回复.您可以查看右边的相关问题.
3 SQLAlchemy使用Association配置与self的多对多关系

我遇到了与模型本身配置多对多关系的问题。 当我使用普通关系配置(即不使用Association对象)时,我可以配置自多对多关系。 在这种情况下,我必须在多对多表中记录一些额外的信息,所以我试图使用Association对象(PageLink)来实现关系。 这是模型。 这种方 ...

7 Neo4J 3.x和2.x中的关系自动索引

在Neo4J 2.x中,我使用了关系的自动索引,然后允许我根据已索引的关系属性进行搜索。 在Neo4J 3.x中,此功能无效。 在Neo4J 2.x中,我设置为neo4j properties : relationship_auto_indexing=true 并设置要使 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM