SqlConnection和SqlCEConnection都扩展System.Data.Common.DbConnection,所以声明“blah”为DbConnection,并且您将能够使用相同的方法和属性。
要实际创建正确的连接类型,请使用System.Data.Common.DbProviderFactories和System.Data.Common.DbProviderFactory类。例如:
DbProviderFactory providerFactory = DbProviderFactories.GetFactory("The Provider Name");
using (DbConnection connection = providerFactory.CreateConnection())
{
connection.ConnectionString = "The Connection String";
connection.Open();
// Use the "connection" object here
}
对于“提供程序名称”,你干脆把在任一“System.Data.SqlClient的”或“System.Data.SqlServerCe”,这取决于数据库类型。然后,对于“连接字符串”,您需要为提供程序类型输入正确的连接字符串。
编辑:此技术适用于您的App.config文件和System.Configuration.ConfigurationManager类。例如,如果你的App.config文件看起来是这样的:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="TheConnectionString" providerName="System.Data.SqlClient" connectionString="Blah Blah Blah" />
</connectionStrings>
</configuration>
然后你就可以访问这些配置设置是这样的:
DbProviderFactory providerFactory = DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings["TheConnectionString"].ProviderName);
using (DbConnection connection = providerFactory.CreateConnection())
{
connection.ConnectionString = ConfigurationManager.ConnectionStrings["TheConnectionString"].ConnectionString;
connection.Open();
// Use the "connection" object here
}