Entity Framework 4.1 "Code First" SetInitializer no se vuelve a llamar después de Database.Delete
Intentando hacer algunas pruebas unitarias con el código EF 4.1 primero. Tengo mi db en vivo (SQL Server) y mi unidad de prueba DB (Sql CE). Después de pelear (y perder) con EF, Sql CE 4.0 y soporte de transacciones, decidí que la forma más simple de ejecutar mi prueba era:
Create DbEjecutar pruebaDelete DbEnjuague y repitTengo mis funciones [Configuración] y [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 es que System.Data.Entity.Database.SetInitializer no llama a MyTestContextInitializer después de la primera prueba.
Por lo tanto, la segunda prueba falla con:
System.Data.EntityException: el proveedor subyacente falló en Open.
----> System.Data.SqlServerCe.SqlCeException: no se puede encontrar el archivo de base de datos. Verifique la ruta a la base de datos
TIA para cualquier puntero