传递数据库连接设置以使其正常工作
本文关键字:常工作 工作 数据库连接 设置 | 更新日期: 2023-09-27 17:56:32
c# 中是否有表示数据库连接设置的类或接口?我想将连接设置传递给如下函数:
public DoWorkOnDb(IDbConnectionSettings settings)
{
SqlConnection connection = new SqlConnection(settings.ConnectionString);
...
}
我不想做的是:
- 传递连接,因为函数应自行处理连接 传递
- 连接字符串,因为这样就可以传递所有类型的字符串
- 传递多个字符串,如服务器、数据库、用户、密码,因为这样我必须在函数中构建连接字符串。
据我了解,你需要SqlConnectionStringBuilder。然后你需要调用 ToString() 或 TryGetValue() 方法。
SqlConnectionStringBuilder
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks";
Console.WriteLine(builder.ConnectionString);
也许您正在寻找包含具有ConnectionString
或ProviderName
属性ConnectionStringSettings
的ConnectionStringSettingsCollection
类。
也许您想将其与DbConnectionStringBuilder
结合起来.
就个人而言,我会传递一个功能:
public DoWorkOnDb(Func<SqlConnection> connectionFactory)
{
using (var connection = connectionFactory())
{
// ...
}
}