Entity Framework 4.1 SetInitializer “Code First” não será chamado novamente após Database.Delete

Tentando fazer alguns testes de unidade com o código EF 4.1 primeiro. Eu tenho meu banco de dados ativo (SQL Server) e meu banco de dados de teste de unidade (Sql CE). Depois de lutar (e perder) com o EF, o Sql CE 4.0 e o suporte à transação, decidi que a maneira mais simples de executar meu teste era:

Create DbTeste de corridDelete DbEnxague e repit

Tenho minhas funções [Setup] e [TearDown]:

[SetUp]
public void Init()
{
    System.Data.Entity.Database.SetInitializer(new MyTestContextInitializer());
    _dbContext = ContainerFactory.Container.GetInstance<IContext>();
    _testConnection = _dbContext.ConnectionString;
}

[TearDown]
public void Cleanup()
{
    _dbContext.Dispose();
    System.Data.Entity.Database.Delete(_testConnection);
}

Issue é que System.Data.Entity.Database.SetInitializer não chama MyTestContextInitializer após o primeiro test

Portanto, o segundo teste falha com:

System.Data.EntityException: o provedor subjacente falhou ao abri
----> System.Data.SqlServerCe.SqlCeException: O arquivo do banco de dados não pode ser encontrado. Verifique o caminho para o banco de dados

TIA para qualquer ponteiro

questionAnswers(3)

yourAnswerToTheQuestion