0

Code First Entity Framework を使用して C# Asp.net でアプリケーションを作成しています。このアプリケーションは、さまざまな顧客に対して異なるデータベースを使用します (つまり、すべての顧客には、初回使用時に生成される独自のデータベースがあります)。

オブジェクトに変更を適用するたびに、これらすべてのデータベースを自動的に更新する方法を見つけようとしています。言い換えれば、Code First EF で cleanstep システムにどのようにアプローチすればよいでしょうか?

  • 現在、InitializerIfModelChange を使用して、スキーマの変更が発生するたびにアプリケーションをテストできる単純なデータベースを定義しています。ただし、この方法ではデータベースがドロップされ、顧客データベースの場合は明らかに受け入れられません。
  • 何百もの顧客を想定しなければならないため、すべてのデータベースを手動で更新することはできません
  • データを新しいデータベースにコピーするコードを書くことは気にしません。

最善の解決策は、何らかの方法でデータベースをバックアップし、新しく作成したデータベースにすべてのデータを再挿入する方法だと思います。データベースを削除せずにスキーマを自動的に更新する方法があればさらに良いでしょう。しかし、私はこれにアプローチする方法がわかりません。誰かが私を正しい方向に向けることができますか?

4

1 に答える 1

0

Joakim によって投稿されたリンクは役に立ちました。EF 4.3.1 に更新する必要があります (他のプロジェクトがある場合は、参照を忘れないでください)。その後、移行を有効にするコマンドを実行できます。使用できるコードからスキーマを自動的に更新するには

Configuration configuration = new Configuration();
DbMigrator migrator = new DbMigrator(configuration);
migrator.Update();
Database.SetInitializer<DbContext>(null);
于 2012-06-04T20:10:03.140 に答える