SqlConnection
개체의 패턴은 어느 것입니까? 어떤 것이 성능면에서 더 낫습니까? 다른 패턴을 제공합니까?SqlConnection 개체에 어떤 패턴이 더 좋습니까?
class DataAccess1 : IDisposable
{
private SqlConnection connection;
public DataAccess1(string connectionString)
{
connection = new SqlConnection(connectionString);
}
public void Execute(string query)
{
using (SqlCommand command = connection.CreateCommand())
{
command.CommandText = query;
command.CommandType = CommandType.Text;
// ...
command.Connection.Open();
command.ExecuteNonQuery();
command.Connection.Close();
}
}
public void Dispose()
{
connection.Dispose();
}
}
VS
class DataAccess2 : IDisposable
{
private string connectionString;
public DataAccess2(string connectionString)
{
this.connectionString = connectionString;
}
public void Execute(string query)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = connection.CreateCommand();
command.CommandText = query;
command.CommandType = CommandType.Text;
// ...
command.Connection.Open();
command.ExecuteNonQuery();
command.Connection.Close();
}
}
public void Dispose()
{
}
}
나는 권합니다 ... 여러 연결을 사용하는 것을 선호하는 상황이있을 것입니다. 응용 프로그램에서 구성 정보를 읽고이를 소비자에게 전달하십시오. 클래스의 이식성을 제한 할 이유가 없습니다. –
@ Adam : 이식성의 * 제한 *에 동의합니다.호출자가 값을 제공 할 수 있도록 ctor를 포함하도록 수정합니다. –