当前位置: 首页 > 知识库问答 >
问题:

Asp.netCore中的多对多实现问题[重复]

於宏大
2023-03-14

我先用代码。我正在尝试在Asp中实现多对多关系。具有的net core。净额6。

我的订单型号:

...
...
public virtual ICollection<Product> Products { get; set; }

我的产品型号:

...
...
public virtual ICollection<Order> Orders { get; set; }

当我尝试更新数据库时,出现以下错误:

Introducing FOREIGN KEY constraint 'FK_ProductOrder_Orders_OrdersID' on table 'ProductOrder' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.

共有1个答案

连昊天
2023-03-14

它基本上是说,当你删除订单时,你需要有一个相关产品的删除策略。您可以在配置方法中尝试此操作。

entity.HasOne(d => d.Order)
                    .WithMany(p => p.Product)
                    .HasForeignKey(d => d.OrderId)
                    .OnDelete(DeleteBehavior.Cascade)
                    .HasConstraintName("FK_ProductOrder_Orders_OrdersID");

Sql

CONSTRAINT [FK_ProductOrder_Orders_OrdersID] FOREIGN KEY ([OrderId]) REFERENCES Product ([OrderId]) ON DELETE CASCADE
 类似资料:
  • 问题内容: 最初,我的数据库中有两个表[Property]和[Employee]。 每个雇员可以有一个“家庭财产”,因此雇员表中有一个“财产”的HomePropertyID FK字段。 后来,我需要对这种情况进行建模,即尽管员工只有一个“房屋财产”,但确实在多个财产上工作或涵盖了多个财产。 因此,我创建了一个[Employee2Property]表,该表具有EmployeeID和PropertyI

  • 我试图添加一个到我的NestJS应用程序使用TypeORM。我已经声明了一个实体和一个实体,其中一个到多个关系。我可以添加这个人和他们的地址,但是当我试图访问一个人(或所有人)时,我得到一个错误: 我不确定发生了什么,因为我遵循了TypeORM文档中的这个示例,了解如何设置多通和一通的关系。不过,我注意到地址表中有一行,但是列仍然是。您可以看到和文件,以及将这些项目添加到数据库的服务。 任何提示,

  • 它创建PrimaryErrorDialog类: 它调用扩展Thread的工作类: 它返回到PrimaryErrorDialog,然后必须通知用户任务已完成,然后终止该对话框。 这段代码稍后也会在程序中执行,对于“真正的”运行时错误,有些类只是有一点不同的参数和/或构造函数。 然而,这不起作用,我已经尝试了很多方法,我尝试了SwingWorker,似乎没有什么能达到我想要的效果。通常连电子邮件代码都

  • 在设置输入类型多行时动作完成不工作。 我已经尝试了您在解决方案中提到的每一个代码,但我仍然面临同样的问题。我如何解决它? 如何使用ActionDone按钮(不带Enter按钮)实现多行EditText此答案在我的应用程序中尝试过,但不起作用。

  • 本文向大家介绍PageHelper插件实现一对多查询时的分页问题,包括了PageHelper插件实现一对多查询时的分页问题的使用技巧和注意事项,需要的朋友参考一下 项目中经常会使用到一对多的查询场景,但是PageHelper对这种嵌套查询的支持不够,如果是一对多的列表查询,返回的分页结果是不对的 参考Github上的说明:https://github.com/pagehelper/Mybatis-