我在这个项目中使用dotnet和mvc。
在我的数据模型中,有多个级联路径,因此,标题出现错误。当我尝试将Orders
表中的FK添加到Business
表中时,就会发生这种情况。
我的数据模型:
例如,假设我有一个可以管理多个理发店的网络平台。每个理发店都是我数据库中的一家企业。我网站上的用户可以是客户(用户),理发店所有者(企业所有者)和理发师(提供者)。
现在,如您所知,从用户表到订单表有多个路径。
从订单到提供者的FK设置为在删除时设置为null。不过,由于我们拥有FK到企业版(拥有与用户连接的所有者),所以我仍然受阻。
错误:
执行DbCommand失败(16ms)[Parameters = [],CommandType ='Text',CommandTimeout = '30']
创建表[订单]
.... );在表“ Order”上引入FOREIGN KEY约束“ FK_Order_Business_BusinessId”可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。
无法创建约束或索引。查看以前的错误。
在dotnet级别上寻找解决方案,例如更新模型或迁移文件。。我听说过触发器,但不确定如何通过asp实现。
可选:我考虑过的想法:将orders表划分为3个表: 订单(订单编号pk,时间戳) CustomersOrder(Order_id fk,customer_Id) BusinessOrder(Orderid fk,businessID,ProviderId)
如果你们有任何想法,我很乐意听到:)
答案 0 :(得分:-1)
我想我没有其他选择,我将Order的模型划分为3个模型:Orders,CustomerOrder,BusinessOrder = 3个表。