Открытие и закрытие соединений с базой данных являются дорогостоящими операциями с точки зрения времени и ресурсов.В то же время, если соединение остается открытым в течение длительного времени, это может привести к утечке памяти или угрозе безопасности.
Таким образом, рекомендуемый подход заключается в том, чтобы открывать соединение с базой данных только при необходимости и закрывать, как только цель его открытия обслуживается.
В приведенном вами примере несколько операций с базами данных происходят водин ход.Таким образом, вместо открытия соединения индивидуально для каждой операции, открывается только одно соединение, и оно закрывается после выполнения операции.Здесь соединение открывается и закрывается вручную.
Новые подходы DataAccess Layers, такие как EntityFramework и т. Д., Выполняют эту работу внутренне.
UsersPhonesDBContext.Database.SqlQuery<Phones>("dbo.InsertPhones @model", sqlParam);
В этой строке кодаСоединение с базой данных открывается и закрывается внутри, и мы не беспокоимся об этом.
Поэтому основной мотив - минимизировать операции открытия и закрытия соединения и закрыть соединение, как только цель его открытия закончится.