Grupos de DbContext y Connection

En una aplicación que heredé, existe esto en un Controlador base, del que hereda cualquier otro controlador de la aplicación.

public BaseController()
    {
        db = new MyDbContext();

        db.Database.Log = s => Debug.Write(s);
    }

 public MyDbContext()
        : base("name=MyDbContext")
    {
        // hack to force Visual Studio to deploy the Entityframework.SqlServer package 
        var instance = SqlProviderServices.Instance;
    }

Debido a la forma en que se ha diseñado la aplicación, se crean al menos 2 contextos por solicitud. (Es una aplicación MVC y hay una llamada al HomeController en cada página más cualquier otro controlador que se llame para una página en particular).

Mi pregunta es cuándo hace elDbContext crear una conexión a SQL Server? ¿Es inmediato cuando se crea el contexto, o solo cuando se ejecuta una consulta?

Si es el primero, usaré 2 veces el número de conexiones al servidor SQL que el necesario, y si es el último, probablemente no sea un problema.

No creo que pueda refactorizar esto en el futuro inmediato, ciertamente no sin justificación. ¿Qué posibles peligros de este diseño debo tener en cuenta?

Entity Framework 6.1.3

Respuestas a la pregunta(3)

Su respuesta a la pregunta