App Config中的多个ConnectionStrings组

时间:2019-06-19 15:14:00

标签: c# connection-string app-config

使用ConnectionStrings中的App.config,是否可以有多个组/节的连接字符串?在一组连接和另一组连接之间划定轮廓的方法。像这样的东西

<configuration>
    <connectionStrings>
        <clear />
        <add name="ConA" connectionString="Data Source=..."
        <add name="ConB" connectionString="Data Source=..."
    </connectionStrings>
    <otherConnectionStrings>
        <clear />
        <add name="ConC" connectionString="Data Source=..."
        <add name="ConD" connectionString="Data Source=..."
    </otherConnectionStrings>
</configuration>

OR

<configuration>
    <connectionStrings>
        <clear />
        <add name="ConA" Group="1" connectionString="Data Source=..."
        <add name="ConB" Group="1" connectionString="Data Source=..."
        <add name="ConC" Group="2" connectionString="Data Source=..."
        <add name="ConD" Group="2" connectionString="Data Source=..."
    </connectionStrings>
</configuration>

我知道您可以使用<configSections>来拆分配置文件,但是如果可能的话,我想使用ConnectionStringSettingsCollection settings = ConfigurationManager.ConnectionStrings;来访问connectionStrings。

需要

我有两个下拉框。一个用可能的connectionStrings列表填充。选择一个选项将根据在下拉列表1中选择的选项,用剩余的connectionStrings的子列表填充第二个下拉列表。您将如何干净地填充这两个列表?也许我只需要为可能需要的每组连接在代码中创建connectionStringName列表,并将所有连接都放在配置的单个部分中即可?

1 个答案:

答案 0 :(得分:0)

感谢您的评论。似乎不可能有单独的connectionStrings节。为了对我所有的连接都保留该功能,我承认必须将它们全部组合在一起,但要根据分组(按照@Igor的建议)对它们的名称进行前缀,然后在代码中使用Linq仅选择我需要的连接。

注意:要在ConnectionStringSettingsCollection上使用Linq,您需要按照.Cast<ConnectionStringSettings>()进行操作; https://stackoverflow.com/a/26419656/1365650