【发布时间】:2018-03-10 00:36:16
【问题描述】:
我的配置文件具有以下配置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data" />
</configSections>
<dataConfiguration defaultDatabase="myConnectionString" />
<connectionStrings>
<add name="myConnectionString" connectionString="Data Source=mydatasource;Max Pool Size=100;Pooling=true; Initial Catalog=MyDB;User ID=Myuser;Password=Password;Connection Timeout=60" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
</configuration>
如您所见,我已将默认dataconfiguration 设置为使用myConnectionString 作为默认连接字符串,但在代码后面(c#)中,我如何访问此连接字符串而无需提供名称,即@987654324 @
所以在下面的代码中:
string connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
SqlConnection cnn = new SqlConnection(connectionString);
SqlBulkCopy sbc = new SqlBulkCopy(cnn);
我想跳过硬编码连接字符串的名称。
【问题讨论】:
-
如果您正在使用数据访问应用程序块,您将空字符串传递给连接参数,它将采用默认配置。
-
可惜我不是,我其实是使用SqlBulkCopy批量插入数据:SqlConnection cnn = new SqlConnection(connectionString); // 初始化 SqlBulkCopy 对象 SqlBulkCopy sbc = new SqlBulkCopy(cnn);
-
然后您可以手动引用 dataConfiguration 部分并获取名称,或者(不太可靠)您可以通过索引而不是名称来引用连接字符串。
标签: c# sql web-config connection-string app-config