Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Unity注入实体框架连接字符串运行时_C#_Entity Framework_Unity Container - Fatal编程技术网

C# 使用Unity注入实体框架连接字符串运行时

C# 使用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

我有这样的实体框架DbContext

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控制器类来说,获取连接字符串的位置或方式无关紧要。