0

c# 中是否有代表数据库连接设置的类或接口?我想将连接设置传递给如下函数:

public DoWorkOnDb(IDbConnectionSettings settings)
{
   SqlConnection connection = new SqlConnection(settings.ConnectionString);
   ...
}

我不想做的是:

  • 传递一个连接,因为该函数应该自己处理连接
  • 传递一个连接字符串,因为这样你就可以传递所有类型的字符串
  • 传递多个字符串,如服务器、数据库、用户、密码,因为那时我必须在函数中构建连接字符串。
4

4 回答 4

2

据我了解,您需要SqlConnectionStringBuilder。然后你需要调用ToString()TryGetValue()方法。

于 2013-01-30T08:48:16.163 回答
0

SqlConnectionStringBuilder

SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks";
Console.WriteLine(builder.ConnectionString);
于 2013-01-30T08:50:43.227 回答
0

也许您正在寻找ConnectionStringSettingsCollection包含ConnectionStringSettings具有ConnectionStringorProviderName属性的 -class。

也许您想将它与DbConnectionStringBuilder.

于 2013-01-30T08:51:14.707 回答
0

就个人而言,我会通过一个函数:

public DoWorkOnDb(Func<SqlConnection> connectionFactory)
{
    using (var connection = connectionFactory())
    {
        // ...
    }
}
于 2013-01-30T08:54:48.597 回答