2016-11-24 3 views
1

Entity Framework Migrationを初めて使用しました。誰もが任意の手間をかけずに生産の自動移行を可能にするための最良の方法は何か言うことができるC#Entity Frameworkプロダクションで自動移行を有効にする方法

http://www.entityframeworktutorial.net/code-first/automated-migration-in-code-first.aspx

、どのようなシナリオに自動移行を行うために:私は、次のリンクを使用して自動移行を可能にするの基本を知っています接続文字列は実行時に提供されますか?

ありがとうございました

+1

本番環境で自動移行を使用しないことを強くお勧めします。データモデルの進化を完全にコントロールしたい場合は、必要に応じて運用データベースに対して移行を作成して実行する方がよいでしょう。 –

答えて

0

実行時にEF DBのバージョンチェックが実行されます。プロジェクトで移行を有効にしている場合(MigrateDatabaseToLatestVersionを指定したリンクなど)、移行は最初のコンテキストの初期化時に適用されます。

0

私はこれを私のプロダクションプラットフォーム用に用意していますが、ビルドがデバッグモード以外で実行されたときにのみコマンドが実行されることに注意してください。

#if !DEBUG 
     Database.SetInitializer(new MigrateDatabaseToLatestVersion<VerbekeContext, Default.Migrations.Configuration>()); 
#endif 

この

はスタートアップ関数でMVCプロジェクトの私のGlobal.asaxに追加されるので、あなたが他のアプリケーションがある場合にtrueにAutomaticMigrationsEnabledを、あなたは、この@スタートアップ

を実行する必要がありますまたはあなたが設定することができますmigrationsフォルダ内のconfiguration.cs。デバッグスイッチを追加する場合は、debugでfalseに設定し、他のビルドモードではtrueに設定します。

namespace Default.Migrations 
{ 
using System.Data.Entity.Migrations; 

public sealed class Configuration : DbMigrationsConfiguration<Context> 
{ 
    public Configuration() 
    { 
     AutomaticMigrationsEnabled = false; 
    } 

    protected override void Seed(Context context) 
    { 
     /// 
    } 
} 
} 
関連する問題