6

コードファーストデータベースのプロトタイピングとテストのために、VS 2012 RC で事前構成された LocalDB データベースで Entity Framework 5.0 RC を使用しています。

コード ファースト データベースを変更して "update-database" を実行するサイクルを数回繰り返した後、大きな破壊的変更を行い、自動移行に失敗しました。これは単なるプロトタイピングであるため、この競合を解決することは気にしません。データが失われても問題ありません。

データベースをリセットまたは削除するにはどうすればよいですか? リセットは、Visual Studio のサーバー エクスプローラーから隠されているように見える移行テーブルもリセットする必要があります。

4

2 に答える 2

1

これまでのところ、これは私が見つけた最良のアプローチです。

  1. __MigrationHistory を非システム テーブルにします。
  2. SQL スクリプトを実行して、すべてのテーブルを削除します。

__MigrationHistory テーブルを変更するには、この記事を参照して、既存のデータベースとコード ファーストで作成された新しいデータベースの両方を処理します。

SQL スクリプトは次のとおりです。

EXEC sp_MSforeachtable @command1 = "DROP TABLE ?";

Visual Studio 11 RC コピーでは、何らかの理由で LocalDB でクエリを実行できないため、Database .NET v4 Freeを使用してこの SQL スクリプトを実行しています。また、外部キーが原因ですべてのテーブルを削除するには、スクリプトを 2 回実行する必要があります。そのままで十分に機能しているように見えるので、これを修正することは気にしませんでした。

于 2012-07-04T11:07:45.063 に答える