0
私は私はこのような構成でやった、コンテキストクラスの設定にアクセスしようとしているASP.NETコア2を使用しています:Program.csの中 :Startup.csでDbContextクラスのコンフィグレーションにアクセスするにはどうすればよいですか?
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
......
.ConfigureAppConfiguration((builderContext, config) =>
{
IHostingEnvironment env = builderContext.HostingEnvironment;
config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true);
})
.Build();
:
をpublic Startup(IConfiguration configuration)
{
Configuration = configuration;
}
私はこのようなコントローラでそれにアクセスすることができます。
public HomeController(IConfiguration configuration)
{...}
が、どのように私はコンテキストクラスでそれにアクセスできますか? おかげであなたはDbContextクラスでIConfigurationを必要とする、あなたは、コンストラクタに追加する必要がありますあなたの状況では
DbContextを意味していますか?コントローラと同じコンストラクタパラメータとして追加するだけです。また、ConfigureAppConfigurationは必要ありません。これはフレームワークが既に行っていることです。https://github.com/aspnet/MetaPackages/blob/dev/src/Microsoft.AspNetCore/WebHost.cs#L157-L158 – juunas
Hi-try by constructor :public MyEntities(IConfiguration configuration){}しかし、このようなすべてのインスタンス:private MyEntities db = new MyEntities();すべてのコントローラでエラーが発生します。引数はありません。... thanks – mrapi
MyEntitiesも、依存クラスのコンストラクタパラメータとして取得する必要があります。あなたはDIから常にそれを得なければなりません、あなたはそれを自分でインスタンス化すべきではありません。 – juunas