ASP.NET MVC EF Seeder无法删除行,因为外键关系

时间:2013-01-13 05:45:30

标签: sql-server asp.net-mvc entity-framework seeding

我的Entity框架有一个播种器,一个函数ResetTables(),它删除所有表中的所有行,然后将它们全部重置。

外键关系阻止了我的删除语句,我设法通过按照精确的顺序删除内容来解决问题一段时间,但现在,即使这样也无效。

我怎样才能解决这个问题。

这是我的ResetTables()方法的一个例子

db.Database.ExecuteSqlCommand("INSERT INTO Badges (Name) VALUES (null)");
db.Database.ExecuteSqlCommand("DELETE FROM Badges; DBCC CHECKIDENT(Badges, RESEED, 0)");

注意:插入和重置就是把事情设置回0,这样我的ID就不会爬到高位。

1 个答案:

答案 0 :(得分:1)

如果您想清除数据库并且不想处理约束,可以temporarily turn them off, execute your deletion and turn on constraints