首页 > 解决方案 > 无法截断表,因为它被使用 ExecuteSqlCommand 的 FOREIGN KEY 约束引用

问题描述

我想从实体框架中清除此表中的数据

db2.Database.ExecuteSqlCommand("TRUNCATE TABLE [destDepartments]");

但我有这个错误

无法截断表“destDepartments”,因为它被 FOREIGN KEY 约束引用。

那么我如何从 EF 做到这一点?

标签: c#sqlentity-frameworksql-server-2012

解决方案


什么时候可以使用是有限制的TRUNCATE TABLE。其中之一是该表不能与数据库中的其他表存在外键关系。改为使用DELETE FROM [destDepartments]

TRUNCATE TABLE并且在功能DELETE FROM不等效,但后者将允许您清除与数据库中其他表相关的表(前提是保持引用完整性)。


推荐阅读