将数据库连接设置传递给函数

时间:2013-01-30 08:46:29

标签: c# database connection

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

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

我不想做的是:

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

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

SqlConnectionStringBuilder

SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks";
Console.WriteLine(builder.ConnectionString);

答案 2 :(得分:0)

也许您正在寻找ConnectionStringSettingsCollection - 类,其中包含ConnectionStringSettingsConnectionString属性的ProviderName

也许您想将其与DbConnectionStringBuilder结合使用。

答案 3 :(得分:0)

就个人而言,我会传递一个函数:

public DoWorkOnDb(Func<SqlConnection> connectionFactory)
{
    using (var connection = connectionFactory())
    {
        // ...
    }
}