2011-03-09 10 views

Respuesta

37

Sí, lo hará; la implementación de DbConnection.Dispose() llama al Close() (y también lo hacen sus implementaciones derivadas).

+1

¿No depende de si la clase derivada ha anulado el método Dispose (bool)? Si la clase derivada no la anula y llama a 'Cerrar()', la conexión no se cerrará al final del bloque de uso (cuando se llama Eliminar) – alwayslearning

+1

Bastante seguro de que el comentario de AL es exacto ya que DBConnection no prevalece Eliminar proporcionado por System.ComponentModel.Component. En la práctica, aunque dudo que existan implementaciones de DBConnection que no anulen el Dispose y cierren cualquier conexión como una clase de conexión que no se limpia por sí sola, sería una implementación bastante pobre. –

3

seguramente sí porque va a disponer de la conexión y antes de desechar la lógica interna de la conexión llama al cierre.

3

Un bloque de uso asegurará la destrucción del objeto DbConnection llamando al método Dispose(). El método Dispose() invocará el método Close() y tendrá que esperar a que termine de cerrar la conexión a la base de datos.

Cuestiones relacionadas