Entity Framework DefaultConnectionFactory sendo ignorado

Estou usando o Entity Framework 5 com Code First. Eu escrevi um costumeIDbConnectionFactory que eu quero usar para todas as conexões feitas pelo meuDbContext classe, tão cedo no ciclo de vida do aplicativo, antes de qualquer trabalho de banco de dados é feito, eu chamo

Database.DefaultConnectionFactory = new MyConnectionFactory();

Contudo,MyConnectionFactory.CreateConnection nunca é chamado, o que sugere para mim que a EF mudou de volta - mas o depurador mostra que ainda é umMyConnectionFactory depois de várias consultas serem executadas. Por alguma razão, é só não usá-lo.

MinhasDbContext é inicializado passando o nome de uma cadeia de conexão do arquivo app.config, e essas cadeias de conexão especificam um provedor explícito (como de fato precisam), então estou pensando se isso está causando uma substituição por conexão do connection factory com base na cadeia de conexão. Isso acontece e posso pará-lo sem registrar um provedor completamente novo (embora talvez isso não seja muito difícil de fazer?).

O que quer que eu veja on-line sobre isso (muito obscurecido pela tag defaultConnectionFactory em vários exemplos de app.config) sugere que você pode apenas mudá-lo para umIDbConnectionFactory exemplo de sua escolha e vai funcionar, mas o meu não está se comportando.

O propósito disso é permitir que eu execute um conjunto específico de instruções SQL sempre que uma nova conexão for aberta, de modo que a segunda parte desta questão seria se alguém conhece uma maneira melhor de fazer isso?

questionAnswers(2)

yourAnswerToTheQuestion