我想删除与其他表有外键关系的实体。
但我得到一个错误:
MERGE 语句与 REFERENCE 约束冲突
任何建议如何使它工作?
context.BulkDelete(entities);
我想删除与其他表有外键关系的实体。
但我得到一个错误:
MERGE 语句与 REFERENCE 约束冲突
任何建议如何使它工作?
context.BulkDelete(entities);
DELETE CASCADE
不幸的是,出于安全原因,除非您启用了外键,否则无法使用 EF 扩展自动删除外键行。
如果你想删除,你需要先自己删除外键数据:
context.BulkDelete(entities.Select(x => x.ForeignKeyNavigation);
context.BulkDelete(entities);
或者
context.MyForeignKeySets.DeleteRangeByKey(entities.Select(x => x.ForeignKeyID).Distinct());
context.BulkDelete(entities);
或者
context.MyForeignKeySets.WhereBulkContains(entities.Select(x => x.ForeignKeyID).Distinct()).DeleteFromQuery();
context.BulkDelete(entities);
可能还有其他方法可以做到这一点,但在我们的库中没有自动的方法来做到这一点。