C# 使用Unity注入实体框架连接字符串运行时
我有这样的实体框架DbContextC# 使用Unity注入实体框架连接字符串运行时,c#,entity-framework,unity-container,C#,Entity Framework,Unity Container,我有这样的实体框架DbContext class MyClassDBContext:DBContext,IMyClassDBContext { public MyClassDBContext() : base(str, true) { this.Database.Connection.ConnectionString = str; } } 这很有效。我还使用Unity framework将此类的依赖项注入添加到其他层,即使用web.config
class MyClassDBContext:DBContext,IMyClassDBContext
{
public MyClassDBContext() : base(str, true)
{
this.Database.Connection.ConnectionString = str;
}
}
这很有效。我还使用Unity framework将此类的依赖项注入添加到其他层,即使用web.config
的业务层,如下所示:
<register type="IMyClassDBContext" mapTo="MyClassDBContext">
<lifetime type="perRequestLifetimeManager" />
</register>
现在,我想找到一种方法,使用Unity在运行时将连接str
注入DbContext
。我可以在启动时从Azure KeyVault获取连接字符串,但不确定如何将其注入实体框架构造函数
这是一个带有Entity Framework 6的Web API项目Refere:我不久前创建了一个SystemConfiguration接口和类,并通过构造函数注入将该类注入到数据控制器中。您可以配置它,使您的配置类公开一个方法来获取连接字符串,这样对您的db控制器类来说,获取连接字符串的位置或方式无关紧要。