Несколько групп ConnectionStrings в конфигурации приложения - PullRequest
0 голосов
/ 19 июня 2019

Используя 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>

ИЛИ

<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.

NEED

У меня есть два раскрывающихся списка.Один из них заполнен списком возможных строк подключения.При выборе параметра второй выпадающий список будет заполнен подсписком оставшихся строк ConnectionStrings на основе параметра, выбранного в раскрывающемся списке 1. Как правильно заполнить оба варианта?Возможно, мне просто нужно будет создать списки connectionStringName в коде для каждой группы соединений, которые мне могут понадобиться, и все мои соединения будут находиться в одном разделе в моей конфигурации?

1 Ответ

0 голосов
/ 19 июня 2019

Спасибо за комментарии.Кажется, наличие отдельных connectionStrings разделов невозможно.Чтобы сохранить эту функциональность для всех моих соединений, я признал, что они все вместе, но с префиксом их имен на основе группировки (согласно предложению @ Igor), а затем в коде, использующем Linq, для выбора только тех соединений, которые мне нужны.

Примечание: чтобы использовать Linq на ConnectionStringSettingsCollection, необходимо .Cast<ConnectionStringSettings>() согласно;https://stackoverflow.com/a/26419656/1365650

...