网络配置
<connectionStrings configBuilders="CS_Environment">
<add name="connectionA" connectionString="EnvVarA" providerName="System.Data.SqlClient"/>
<add name="connectionB" connectionString="EnvVarB" providerName="System.Data.EntityClient"/>
</connectionStrings>
该ConnectionStringSettings
对象ProviderName
将是一个空字符串,而不是"System.Data.SqlClient"
or "System.Data.EntityClient"
。
和属性映射就好了Name
。ConnectionString
如果我configBuilders
从标签中删除属性,将填充提供程序名称。当然,正确的环境变量将不再被获取,但关键是 configBuilder 打破了这一点。
这是用于连接字符串的配置生成器:
<add name="CS_Environment" mode="Greedy" prefix="ConnStr_" stripPrefix="true"
type="Microsoft.Configuration.ConfigurationBuilders.EnvironmentConfigBuilder,
Microsoft.Configuration.ConfigurationBuilders.Environment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />