私はエンティティフレームワークのコードを最初に使用し、サブドメインをサポートするアプリケーションで作業しています。つまり、サブドメインに基づいて、そのクライアントの接続文字列を取ります(クライアントごとに別々のデータベースがあります)。バックグラウンドジョブを実装するには、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>{
}
なぜEFがデータベースを削除しようとしているのですか?モデルを変更しましたか? – MaKCbIMKo
いいえ、それは私が直面している問題です、私は私のモデルを変更しなかったが、それでも削除しようとしています。 – Alex
メインデータベースに移行を使用していますか? –