Мне обычно нравится создавать соединение с базой данных самостоятельно и управлять его временем жизни вручную с помощью `using {} '. Например:
SqlConnection sqlConnection = new SqlConnection( connectionString );
using( sqlConnection ) {
BusinessObject myBusinessObject = new BusinessObject( sqlConnection );
// do stuff with the business object
...
}
Таким образом, видно и очевидно, что я использую ресурс, который необходимо соответствующим образом очистить. Однако это в конечном итоге много повторяющихся усилий. Я испытываю желание создать соединение Sql внутри бизнес-объекта и реализовать в нем IDisposable. Я бы закрыл соединение в методе Dispose ().
using( BusinessObject myBusinessObject = new BusinessObject() ) {
// do stuff with myBusinessObject
...
}
Проблема, с которой я сталкиваюсь, заключается в том, что может быть не так очевидно, что бизнес-объект необходимо утилизировать, если вы не видите его в использовании.
Как бы вы, ребята, сделали это?