在代码中检索默认数据库连接字符串

Retrieving default database connection string in code

我正在使用我当前公司的开发团队使用的现有结构。为了更改应用程序中的连接字符串,团队创建了一个名为 "defaultDatabase" 的 XML 节点(见下文):

  </configSections>
<dataConfiguration defaultDatabase="Development" />
  <connectionStrings>
<add name="Development" connectionString="Data source=DVHQSQL01; Initial Catalog=db; User ID=id; Password=password"/>
  </connectionStrings>

...XML中会有更多的连接字符串用于不同的服务器环境(此处未显示,但 "Testing"、"Staging"、"Production" 等)

我正在创建一个 class,它具有使用默认连接的不同功能。我知道一条路线是通过 ConfigurationManager,如下所示:

https://social.msdn.microsoft.com/Forums/en-US/9a8c9f5a-092e-4c4a-87bb-9f35d8f55da1/get-connection-string-from-appconfig-file?forum=adodotnetdataproviders

如果您可以在代码中更改连接字符串名称,那就太好了,但是我们使用 defaultDatabase 节点能够从不同的环境进行更改而无需重新构建。

有人对这种方法有经验吗?如何使用 defaultDatabase 节点获取正确的连接字符串?

您可以在 config 中拥有任意数量的 connectionString,您所要做的就是给它们不同的名称。

<connectionStrings>
    <add name="default" connectionString=""/>
    <add name="anotherOne" connectionString=""/>
    ...
      </connectionStrings>

只需在连接字符串区域设置default连接:

<connectionStrings>
   <add name="default" connectionString="..."/>
</connectionStrings>

如果你有更多的连接,你可以用同样的方式添加它们:

<connectionStrings>
   <add name="default" connectionString="..."/>
   <add name="special1" connectionString="..."/>
   <add name="special2" connectionString="..."/>
</connectionStrings>