私はこのようなASP.NET MVCアプリケーションのコアのコントローラで私のDbContextを登録するには、依存性注入を使用しています:ASP.NETコア:DB CF移行のための依存性の注入
public void ConfigureServices(IServiceCollection services) {
return new MyContext(connectionString); }
services.AddScoped<IMyContext, MyContext>((serviceProdiver) => {
return new MyContext(Configuration["ConnectionStrings:MyContext"]);
});
services.AddMvc();
}
これはうまく動作します。しかし今は、パラメータのないコンストラクタを必要とするAdd-Migration Initial -Context MyContext
のような移行を使用したいと思います。私は、次のような古典的なASP.NET MVCからシングルトンパターンにフォールバックする必要がありますので、しかし、これは、DIのパターンを破壊するであろう:
public class MyContext:MySqlDbContext, IMyContext {
public MyContext() : base(Startup.Configuration["ConnectionStrings:MyContext"] {
}
}
私は結果的に私の新しいASP.NETコアプロジェクトでDIを使用するためにこれを避けるのが好き。これはデータベースマイグレーションを使用して可能ですか?それとも、以前のシングルトンパターンを使用する代替手段がないために、DI用のマイグレーションツールはまだ更新されていませんか?
私は役立ちましたファクトリー登録を使用する場合は、2番目のコンストラクターを追加するだけで済みます。 –