私は2つのプロジェクトを持っています:接続文字列がappsetting.json
であるWebプロジェクトと、ビジネスロジックを実装するいくつかのリポジトリを含むDomainプロジェクトです。今、WebからDomainプロジェクトに接続文字列を渡す必要があります。まず、this articleで説明されている方法で設定から接続文字列値を取得しましたが、ドメインに渡す方法は?以前のバージョンのASPでは、これはConfigurationManagerを介して行うことができましたが、現在は不可能です。マルチプロジェクトASPコア1ソリューションでエンティティフレームワークを設定する
マイDomainDbContext:
public class DomainDbContext : DbContext {
public DbSet<SomeEntity> SomeEntities{ get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder builder) {
builder.UseNpgsql(@"HardcodedConnectionString");
}
}
それは
public class SomeController : Controller {
private readonly AppSettings _settings;
private readonly ISomeProvider _someProvider;
public OrderController(IOptions<AppSettings> settings,
ISomeProvider someProvider) {
_settings = settings.Value;
_someProvider = someProvider;
}
public ActionResult Index() {
return View("Index", new SomeModel {
someEntities = _someProvider.GetAll()
});
}
}