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>