1

EF5を使用したCodeFirstアプローチを使用しています。

モデルが変更された場合にデータベースを修正するためにDropCreateDatabaseIfModelChangesを実行することを検討していましたが、実行時に再入力する必要のあるデータがあります。

エンティティカウントを実行して実行されたかどうかを確認できると思いますが、これを行うためのよりエレガントな方法があるかどうか知りたいですか?(コードで検索できるある種の戻り値またはイベント)

前もって感謝します。

4

1 に答える 1

1

DBが再作成されるときにシードするコンテキストにデータを追加するには、 SeedDropCreateDatabaseIfModelChangesメソッドから派生してオーバーライドする必要があります。

public class MyDbInitializer : DropCreateDatabaseIfModelChanges<MyDbContext>
{

    protected override void Seed(MyDbContext context)
    {
        context.AddSomeInitialData();
        context.SaveChanges();        
    }

}

そして、アプリケーションの開始時に、データベース初期化子として設定します。

Database.SetInitializer(new MyDbInitializer());
于 2012-07-18T04:36:45.693 に答える