2016-05-22 11 views
0

私はエンティティフレームワークのコードを最初に使用し、サブドメインをサポートするアプリケーションで作業しています。つまり、サブドメインに基づいて、そのクライアントの接続文字列を取ります(クライアントごとに別々のデータベースがあります)。バックグラウンドジョブを実装するには、Hangfireを使用しています。現在、Hangfire用に別のDBを使用しています。既存のエンティティフレームワークコードの最初のアプリケーションでhangfireを使用するにはどうすればよいですか?

私の要件は、このハングファイアテーブルをクライアントデータベースに作成する必要があることです。そのために私はhangfireするクライアントDBの接続文字列を渡さ:

GlobalConfiguration.Configuration.UseSqlServerStorage("connection string"); 

をしかし、問題は、それがすでに有効なデータを持っているので、私は、これを行うにはしたくない私のデータベースをドロップしようとしているエンティティフレームワークですクライアント

public DataContext(string connectionString): base(connectionString){ 
     Database.SetInitializer(new DataSeeder()); 
     Database.Initialize(false); 
     Configuration.ProxyCreationEnabled = false; 
    } 

上記は私のDatacontextのコンストラクタです。

シーダーは、このようなものです:

public class DataSeeder : DropCreateDatabaseIfModelChanges<DataContext>{ 

} 
+0

なぜEFがデータベースを削除しようとしているのですか?モデルを変更しましたか? – MaKCbIMKo

+0

いいえ、それは私が直面している問題です、私は私のモデルを変更しなかったが、それでも削除しようとしています。 – Alex

+0

メインデータベースに移行を使用していますか? –

答えて

0

私は後に、それはまた、私のアイデンティティの表を削除したいことを、Hangfireと「DNXのEFの移行を追加」を発行し、生成された移行ファイルを調べるを追加したことに気づきました。

"Up"メソッドからこれらのコマンドを生成して削除したMigration C#スクリプトを編集して、すべて正常に動作していました。これを試してみると、データベースの更新を実行する前に問題が解決する可能性があります。

関連する問題