DbContext ne conserve pas la connexion ouverte pour la réutilisation

J'essaie de réutiliser une connexion de base de données afin que je puisse faire de multiples opérations de base de données à l'aide d'un TransactionScope sans invoquer MSDTC.

Cadre de l'entité (à l'aide de la nouvelle DbContext API dans la version 4.1) ne semble pas vouloir garder une manière explicite-raccordement ouvert ouvert. L'ancien ObjectContext API maintient ouverte comme prévu et documenté.

Depuis le DbContext API utilise juste ObjectContext sous le capot, j'aurais attendu le même comportement. Personne ne sait si ce changement a pour but ou un problème connu? Je ne le trouve pas documenté nulle part.

public void ConnectionRemainsOpen()
{
    using (var context = new TestDataContext())
    {
        try
        {
            Assert.AreEqual(ConnectionState.Closed, context.Database.Connection.State);

            context.Database.Connection.Open();

            var firstRecord = context.Table3.FirstOrDefault();

            //this Assert fails as State == ConnectionState.Closed
            Assert.AreEqual(ConnectionState.Open, context.Database.Connection.State);

            var newRecord = new Table3
            {
                Name = "test",
                CreatedTime = DateTime.UtcNow,
                ModifiedTime = DateTime.UtcNow
            };

            context.Table3.Add(newRecord);

            context.SaveChanges();

            //this Assert would also fail
            Assert.AreEqual(ConnectionState.Open, context.Database.Connection.State);
        }
        finally
        {
            if (context.Database.Connection.State == ConnectionState.Open)
                context.Database.Connection.Close();
        }
    }
}

source d'informationauteur GWB