プロジェクト(VS2012 ExpressのASP.NET MVC)でしばらくEntity Framework(5.0)を使用しています。今は、もはやマイグレーションを追加できなくなりました。Entity Framework:Add-Migrationが失敗し、データベースを更新できません
PM > Add-Migration -projectName MyProject.DAL TestMigration
Unable to update database to match the current model because there are pending changes and automatic migration is disabled. Either write the pending model changes to a code-based migration or enable automatic migration. Set DbMigrationsConfiguration.AutomaticMigrationsEnabled to true to enable automatic migration.
これは任意の手掛かりを与えるだけに」できません...」というテキストが赤で表示されている場合、私は知らない。
を私は私として意味をなさないいる(自動移行を可能にするために試してみました保留中のモデル変更をコードベースの移行に書き込もうとする)、その結果、データベースに必要な移行が行われますが、プロジェクトで移行がないため、これは私が望むものではありません。
Iデータベースを削除してデータベースを再作成しようとしましたが、データベースは再作成されました(以前の移行まで)が、その後Add-Migratio nまだ「更新できません」というエラーが表示されます。
編集
私は、-forceパラメーターを試みたが、違いはありませんと。私のコンフィギュレーションクラスの
内容は(私は、以前の移行後は何も変更していない):
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
protected override void Seed(Bekosense.DAL.Context.BekosenseContext context)
{
context.Database.ExecuteSqlCommand(Properties.Resources.TriggerAlertMessageDrop);
context.Database.ExecuteSqlCommand(Properties.Resources.TriggerAlertMessageCreate);
context.Database.ExecuteSqlCommand(Properties.Resources.TriggerAlertMessageSentDrop);
context.Database.ExecuteSqlCommand(Properties.Resources.TriggerAlertMessageSentCreate);
context.Database.ExecuteSqlCommand(Properties.Resources.AddDbUsers);
}
編集2 私は私がコメントするアドオンの移行を行うことができるだということが分かりました私のDbContextで出て、次の行:私はアクティブ上記の行を残して、設定ファイル内のすべてをコメントアウトするとき
//Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());
、それはまだ動作しません。 Database.SetInitializer行がこの奇妙な動作を引き起こすのはなぜですか?私はこの行を、過去の問題(!ダウンのデータベースを移行する際に、最初からそれを行うための正しい方法を使用)
を与えた
を、あなたは、移行のためのあなたの設定ファイルを投稿してくださいことはできますか? – IronMan84
-forceパラメータを試しましたか? –
私は同じ問題を抱えていましたが、swapneelの答えは私のために働いていましたが、これは少し極端です。幸いにも私は最初の段階にありますので、それほど大きな取引ではありませんでした –