【发布时间】:2020-08-20 09:45:16
【问题描述】:
您好,我有一个包含许多表和关系的复杂数据库 我们想要做的是将所有表从数据库复制到另一个,但只从一个表(salesorder)开始获取行并遵循关系。 所以我避免使用 .Include,并使用 IQueryable 查询(每个表一个) 插入没问题
问题是当我想从所有表中删除所有行时,我遇到了约束冲突 我使用 .RemoveRange(tableRowsqueryable)
我已经尝试禁用所有 FK 检查,但是当我重新启用时,我得到了同样的错误
错误
SqlException:DELETE 语句与 REFERENCE 冲突 约束“FK_InvParty_Stop_InvParty”。冲突发生在 数据库“UDM”,表“dbo.InvParty_Stop”,列“InvPartyID”。
InvPartyID 列也在 InvParty_Stop 表的 PK 中
我已尝试调试以检查是否缺少某些内容,但我没有发现任何问题! 另一种解决方案是使用存储过程来完成这项工作
【问题讨论】:
-
必须先删除关联表的行或者解除关联
-
有没有办法查看是什么产生了这个冲突?我的意思是行/ID或更具体的东西?
-
标签: c# sql sql-server entity-framework