EK bilgi olsun ;
Bağlantıyı uzun süre açık tutmak kötü bir pratiktir.
Kullandığınız Data provider(Sql data client) üzerinde zten client taraflı connection pool yapıyor + sql server tarafındada bu tür connection pooling işlemleri yapıyor.
Makul olan ;
db üzerinde yapılan işin kısa sürmesi (timeout düşük işlemler olması) önem gösterir, bu noktada aç/kapa işleminin bir maliyeti yoktur.
Db connection aç/kapa işide zaten transaction'ı nasıl yönettiğinizle alakalı eğer her seferinde yeni bir transaction açmıyorsanız zaten client provider/sql server üzerinde aslında hali hazır açık olan connection 'ı kullanırsınız.