私はCMS
ASP.NETMVCフレームワーク(大学の最終プロジェクト用)を介して単純なものを書いています。私の問題はモジュールのデータ移行戦略にあります。各モジュールはインストール時にデータベーススキーマを更新するため、データベース移行メカニズムをモジュールに実装する必要があります。インストールsystem.ok、data-migration
エンティティフレームワークにはすでに存在します(MSのおかげで)が、移行コマンドはパッケージマネージャーコンソールで実行されます。Data-Migration
プログラムでコードを実行する方法はありますか?どんな助けでも大歓迎です。
10050 次
2 に答える
21
パッケージ マネージャー コンソールで自動移行を有効にしている場合は、アプリの init セクション ( SimpleMembershipInitializerなど)で次のコードを使用できます。
var migratorConfig = new Migrations.Configuration();
var dbMigrator = new DbMigrator(migratorConfig);
dbMigrator.Update();
Migrations.Configurationは、プロジェクトの名前空間 ( YourProjectNamespace.Migrations )に配置された移行構成クラスです。
プログラムで使用する場合は、最初に EF 初期化子をオフにする必要があります。
Database.SetInitializer<YourDBContext>(null);
問題は、データベースが存在しない場合、プログラムによる更新によってデータベースが作成されることです。
于 2013-05-03T16:42:45.780 に答える
10
このクラスは、EF の移行をコードで公開します。
System.Data.Entity.MigrateDatabaseToLatestVersion
ただし、EF では、移行はデータベース全体で機能します。データベースのモジュール部分ではありません。
このクラスも見つけました:
于 2012-11-12T11:33:49.927 に答える