using (DbConnection conn = new DbConnection())
{
// do stuff with database
}
¿El using
llamará al conn.Close()
?¿Usará un bloque para cerrar una conexión de base de datos?
using (DbConnection conn = new DbConnection())
{
// do stuff with database
}
¿El using
llamará al conn.Close()
?¿Usará un bloque para cerrar una conexión de base de datos?
Sí, lo hará; la implementación de DbConnection.Dispose()
llama al Close()
(y también lo hacen sus implementaciones derivadas).
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.
Sí - http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx
edición: de Microsoft: "La conexión se cierra automáticamente al final del bloque usando."
Si bien un enlace puede resolver la pregunta, también puede contener más información. Una pequeña sinopsis aquí es algo bueno para ayudar al lector a concentrarse en los puntos importantes. – Trilarion
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.
¿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
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. –