私は VS 2012 で EF 5 と共に EF Code First を使用しupdate-database
ています。
x.mdb を削除して再作成したいと考えています。更新履歴がずれているようです。コンテキスト内のすべての DBSet をコメント アウトするupdate-database
と、エラーなしで実行されますが、DB にいくつかのテーブルが残ります。DB に貴重なデータがないので、すべてをリセットするのが最も簡単なようです。
どうすればこれを達成できますか?
私は VS 2012 で EF 5 と共に EF Code First を使用しupdate-database
ています。
x.mdb を削除して再作成したいと考えています。更新履歴がずれているようです。コンテキスト内のすべての DBSet をコメント アウトするupdate-database
と、エラーなしで実行されますが、DB にいくつかのテーブルが残ります。DB に貴重なデータがないので、すべてをリセットするのが最も簡単なようです。
どうすればこれを達成できますか?
コマンドを使用して正しい方法で移行を作成したAdd-Migration "Name_Of_Migration"
場合は、次の手順を実行して、クリーンなスタートを切ることができます (もちろん、データの損失を伴うリセット)。
Update-database -TargetMigration:0
down メソッドが実行されたため、通常、DB は空になっています。
Update-database
これにより、DBが現在の移行に再作成されます
パッケージ マネージャー コンソールからドロップ、作成、およびシードするためのシングル ライナー:
update-database -TargetMigration:0 | update-database -force
カブーム。
どうですか..
static void Main(string[] args)
{
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<ExampleContext>());
// C
// o
// d
// i
// n
// g
}
これはProgramming Entity Framework: Code First、Pg 28 First Editionから取り上げました。
dbctx.Database.EnsureDeleted(); dbctx.Database.EnsureCreated();
ASP.Net Core 5 で EF6 を使用すると、データベースの最初の初期化中に次のコマンドが便利であることがわかりました。
Remove-Migration -force; Add-Migration InitialMigration; Update-Database;
最後の移行 (唯一の移行である必要があります) を削除し、再度作成してから、データベースを更新します。Package Management Console
したがって、編集後にこれらの 3 つのコマンドを 1 行で入力すると、データベースDbContext
が更新InitialMigration
されます。
少し厄介なのは、プロジェクトを 3 回続けてコンパイルすることですが、少なくともそれ以上の手動の手順 (移行ファイルの削除など) は必要ありません。
Remove-Database
エンティティを削除する場合は、更新する前に発行する必要があります。したがって、行は次のようになります。
Remove-Migration -force; Add-Migration InitialMigration; Remove-Database; Update-Database;
ここで問題: データベースの削除 + 4 回の再構築を確認する必要があります。