0

Entity Framework コード ファースト アプローチを使用して SQL Azure フェデレーションに接続しようとしています。連合テーブルに書き込もうとすると、EF は「[複数化されたテーブル名] という名前のオブジェクトがデータベースに既に存在します」というエラーをスローします。

アプリケーション コードを実行する前に連合テーブルを作成したため、このエラーが発生します。テーブルを削除すると、EF は例外をスローせずにテーブルを作成しますが、今回はフェデレーションされません。代わりに参照テーブルになります。

この問題を解決するにはどうすればよいですか? 最初に EF コードがテーブルを作成しようとするのを防ぐことはできますか?

4

1 に答える 1

0

答えは自分で見つけました。

class CreateDatabaseIfNotExists<TContext> : IDatabaseInitializer<TContext> where TContext : DbContext
{
   public void InitializeDatabase(TContext context)
   {
   }
}

そして、DBContext クラスで次のように呼び出します。

static EVENTContext()
{
    Database.SetInitializer(new CreateDatabaseIfNotExists<EVENTContext>());
}
于 2012-10-17T04:17:34.903 に答える