私はEntity Framework Code-Firstについて読み、使い始めました。ローカル マシン (DefaultConnection) では問題なく動作していましたが、運用サーバー (AppHarbor の SQL Server アドオン) では動作を停止したようです。
気づいたことの 1 つは、__MigrationHistory フォルダーがシステム テーブルとして非表示になっていないことです。
AppHarbor のブログ に記載されている自動移行の方法を使用しています。
これは私の DatabaseContext クラスです:
public class DatabaseContext : DbContext {
public DatabaseContext() : base("DefaultConnection") { }
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<Challenge> Challenges { get; set; }
public DbSet<Feedback> Feedbacks { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
Database.SetInitializer(new MigrateDatabaseToLatestVersion<DatabaseContext, Configuration>());
}
}
appharbor データベースでコード ファーストを再び機能させたいと考えています。再度有効にする方法はありますか、または生成された移行クラスと __MigrationHistory をすべて削除し、OnModelCreating
コンストラクターを一時的に変更して初期化子を使用してデータベースを再作成する必要がありDropCreateDatabaseAlways
ますか? 移行をリセットし、現在書かれているコードから移行を開始するより良い方法は何でしょうか?