我有一个这样的 sqlConnection 管理器类:
public class SQLConn {
public string connStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
private SqlConnection sqlConn;
public SqlConnection Connection()
{
sqlConn = new SqlConnection(connStr);
return sqlConn;
}
public void Open()
{
sqlConn .Open();
}
}
如果我使用带有“使用”语句的函数,例如:
var conn = new SQLConn();
using (conn.Connection())
{
String query = "Select * from table";
objSql = new SqlCommand(query, conn.Connection());
conn.Open();
DoSomething();
}
using 语句是否会自动处理连接,因为conn.Connection()
返回一个 SqlConnection 对象?或者,我是否必须在 SqlConn 类上实现 IDisposable 和自定义 Dispose 方法?
这甚至是一个好方法吗?我正在使用遗留代码,我还不能使用 ORM,但是有没有办法简化这个现有的模式来管理/创建 SQL 连接?