2

プロジェクトから開発データベースとMigrationsフォルダーを削除しました。単体テストを使用して実行すると、プロジェクト開発データベースが再作成されます。update-databaseを実行するとなぜ得られるのかわかりません

PM> Update-Database
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Applying code-based migrations: [201302201840012_wieleDoWielu].
Applying code-based migration: 201302201840012_wieleDoWielu.

移行の理由:201302201840012_wieleDoWieluが記憶されていますか?どうすれば削除できますか?どこに保管されていますか?

よろしくPrzemysławStaniszewski

4

2 に答える 2

9

これが答えです。移行フォルダとその移行ファイルを回復してください(プロジェクトに回復してください)。次に、私のtheardhttp://pawel.sawicz.eu/entity-framework-reseting-migrations/の手順に従います

1)Update-Database -Targetmigration:0-それが鍵です!最初に
2)テーブル/移行を消去します(フォルダ全体を削除する必要はありません)
3)追加-移行の初期化
4)更新-データベース

于 2013-02-22T14:51:10.893 に答える
0

これらのコマンドを試してくださいSqllocaldb.exestopV11.0 Sqllocaldb.exe delete V11.0

これにより、参照が削除されます。これを行う前にいくつかの変更をコメントアウトし、移行を行う前に変更をモデルに復元する必要がある場合があります。

私はこれが初めてなので、最近遭遇したのと同じように聞こえるので、うまくいけばあなたの問題を理解しています。

より永続的な解決策は、Globelファイルに次のコードを追加し、を必要なものに置き換えることです。この記事は、以下のリンクにもあります。

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<PersonContext>()); 

http://ilmatte.wordpress.com/2012/12/05/entity-framework-5-code-first-enabling-migrations-in-a-real-project/

于 2014-01-22T13:15:11.470 に答える