【发布时间】:2020-12-24 16:28:48
【问题描述】:
Web.config 就是这样。
<configSections>
<section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false"/>
</configSections>
<connectionStrings configBuilders="Environment">
<add name="ConnectionString" connectionString="ConnectionString" providerName="System.Data.OracleClient" />
<add name="OracleDbContex" providerName="Oracle.ManagedDataAccess.Client" connectionString="OracleDbContex" />
</connectionStrings>
<configBuilders>
<builders>
<add name="Environment" mode="Greedy" type="Microsoft.Configuration.ConfigurationBuilders.EnvironmentConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Environment" />
</builders>
</configBuilders>
我有两个连接字符串,其中一个是普通的 Ado.net 连接。另一种是神谕实体。但问题是当程序启动和连接字符串从环境变量更改时,ado.net 连接正常工作,但 dbcontex 给出此错误。
System.InvalidOperationException: 'The connection string 'OracleDbContex' in the application's configuration file does not contain the required providerName attribute."'
如果我不使用 ConfigurationBuilders,两个连接工作正常。我需要从环境变量中获取连接字符串。我该怎么办?
【问题讨论】: