4

現在のWebプロジェクトでは、コードの移行を設定しようとしています。MVC4プロジェクトでdbイニシャライザーを次のように設定しました

protected void Application_Start()
{
    Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());
}

コードファーストモデルに変更を加えることができます。これにより、Webサイトの起動時に、データベースが期待どおりに最新の自動移行に更新されます。

Add-Migration FirstMigrationただし、いくつかのインデックスを追加できるように、コンソールを介して明示的な移行を追加しようとしています。これにより、コードファイル201301071708126_FirstMigrationがプロジェクトに追加され、ここにインデックスコードを簡単に追加できます。

しかし、Webサイトを再起動すると、これは自動的に実行されません。Update-Databaseこの移行を適用するには、コンソールから実行する必要があります。

私はmsdnでこのチュートリアルに従いましたが、明示的な移行を自動的に実行する必要があることを示唆しているため、何が間違っているのかわかりません。

私の構成ファイルには、次のコンストラクターがあります

public Configuration()
{
    AutomaticMigrationsEnabled = true;
    AutomaticMigrationDataLossAllowed = true;
}
4

2 に答える 2

4

私は少し前にこれに対する答えを見つけました、そして私は質問のいくつかの情報を逃しました。

MVCアプリとWEBAPIアプリの2つのWebサイトがあります。両方でデータベースの初期化を行う必要があります。そうしないと、正しく機能しません。

于 2013-02-05T15:59:49.337 に答える
-1

私のアプリケーションコンストラクターには

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

モデルを更新します。

于 2013-02-05T15:22:38.333 に答える