在启动外访问 ConfigurationDbContext

Access ConfigurationDbContext outside startup

在 Startup.cs 中配置后,如何在启动 class 之外访问 ConfigurationDbContext 的同一个实例? 我想用 ConfigurationDbContext 创建一个存储库,并想使用与启动时配置相同的 ConfigurationDbContext 实例。

正如您在 IdentityServer4.EntityFramework source code 中看到的,ConfigurationDbContext 在内置 DI 中注册为 Scoped(实际上意味着 "per web request")。此外,它还注册为 IConfigurationDbContext 接口的实现。

要访问 ConfigurationDbContext 实例,只需通过 DI 将其注入您的服务:

public MyService(IConfigurationDbContext context)
{
}

public HomeController(ConfigurationDbContext context)
{
}