0

Entity Frameworkのシーダー、関数ResetTables()があります。この関数は、すべてのテーブルからすべての行を削除してから、それらすべてを再シードします。

外部キーの関係が削除ステートメントをブロックしているため、正確な順序で削除することでしばらくの間問題を回避できましたが、今ではそれでも機能していません。

どうすればこれを回避できますか。

これが私のResetTables()メソッドの例です

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

注意:挿入と再表示は、IDが高くならないように、物事を0に戻すためのものです。

4

1 に答える 1

1

データベースをクリアしたいが制約を処理したくない場合は、一時的にそれらをオフにし、削除を実行して、制約をオンにすることができます。

于 2013-01-13T12:27:29.973 に答える