Я постараюсь описать это как можно проще.У нас есть SqlConnection
и 3 метода.
1-й тип
Этот тип open one SqlConnection и методы 'имеет свойство SqlConnection.В основном они просто используют sConnection и в методе create, use, close SqlCommand и SqlDataReader
using (SqlConnection sConnection = new SqlConnection(string))
{
sConnection.Open();
Method objMethod = new Method();
objMethod.SqlConnection = sConnection;
objMethod.DoSomething();
Method2 objMethod = new Method2();
objMethod2.SqlConnection = sConnection;
objMethod2.DoSomething();
Method3 objMethod = new Method3();
objMethod3.SqlConnection = sConnection;
objMethod3.DoSomething();
}
2-го типа
Этот тип создаст новый SqlConnection, SqlCommand, SqlDataReaderв каждом методе отдельно.Для 3 методов потребуется открыть и закрыть 3 SqlConnections.
Method objMethod = new Method();
objMethod.DoSomething();
Method2 objMethod = new Method2();
objMethod2.DoSomething();
Method3 objMethod = new Method3();
objMethod3.DoSomething();
Вопрос в том, сохранять ли SqlConnection инкапсулированным внутри методов или безопасно создавать в SqlConnection и использовать это открытое соединение внутри методов без необходимости открыватьновый.
Спасибо