Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用程序配置中的多组连接字符串_C#_Connection String_App Config - Fatal编程技术网

C# 应用程序配置中的多组连接字符串

C# 应用程序配置中的多组连接字符串,c#,connection-string,app-config,C#,Connection String,App Config,使用App.config中的ConnectionStrings,是否可以有多个组/节的ConnectionStrings?描述一组连接和另一组连接的某种方式。要么像这样 <configuration> <connectionStrings> <clear /> <add name="ConA" connectionString="Data Source=..." <add name="ConB

使用
App.config
中的
ConnectionStrings
,是否可以有多个组/节的ConnectionStrings?描述一组连接和另一组连接的某种方式。要么像这样

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


谢谢你的评论。似乎不可能有单独的
连接字符串
部分。为了在我的所有连接中保留该功能,我同意将它们放在一起,但根据分组(按照@Igor的建议)在名称前面加上前缀,然后在代码中使用Linq只选择我需要的连接


注意:要在
连接字符串设置集合
上使用Linq,您需要按照
.Cast()

不,您需要创建一个自定义配置节。另一种方法可能是在名称(前缀或sufix)中包含带有某些分隔符的组。然后,你的代码就可以处理分组了。伙计,这里是分开的配置部分。“OtherConnectionString”不能用于web配置,因为它有一个严格的语法,而configsection没有这似乎是一个XY问题-你为什么要这样做?听起来你不应该将此数据存储在app config文件中,那么为什么不将其保存在单独的XML或JSON文件中呢?例如,通过这种方式,您可以轻松地将其序列化到
字典中。如果您希望从其他地方引用连接字符串(如下拉),为什么不保留连接字符串,如
连接字符串
部分中所示,然后添加一些自定义应用程序设置,或者在其中定义组并按名称引用连接字符串?
<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>