ASP.NET/ADO.NET: Manipulando muitas conexões de banco de dados dentro de um Objeto .NET?

Temos um objeto .NET que faz muita leitura / gravação com o banco de dados. Durante o ciclo de vida desse objeto (ou a página asp que o usa), ele pode atingir o banco de dados com uma consulta / atualização em qualquer lugar de 1 a 10 vezes.

Em vez de abrir e fechar uma conexão com o banco de dados toda vez que o objeto precisar acessá-lo, ele simplesmente abre uma conexão com o banco de dados durante a instanciação e depois fecha a conexão durante o evento de encerramento do objeto. Isso é uma má prática?

A suposição era que, como o objeto atinge o banco de dados toda vez que é instanciado (e geralmente várias vezes), seria melhor abrir uma conexão no início da vida do objeto e depois fechá-la no final.

A outra alternativa é abrir e fechar a conexão com o banco de dados antes e depois de cada consulta / operação.

Qual é a melhor prática aqui para maximizar o desempenho?

**** update **** Obrigado pelas dicas pessoal. Alguém pode falar mais sobre o método de abrir / fechar uma conexão nos eventos de instanciação / término de um objeto e as repercussões de fazê-lo?

questionAnswers(4)

yourAnswerToTheQuestion