Cadeia de caracteres e migrações de conexão personalizada de primeiro código do EntityFramework

Quando eu crio um contexto com uma string de conexão padrão (como lidaapp.config) o banco de dados é criado e as migrações funcionam - basicamente tudo está em ordem. Considerando que quando a cadeia de conexão é criada programaticamenteSqlConnectionStringBuilder):

O banco de dados não é criado quando o banco de dados não está presente (cenárioA);CreateDbIfNotExists() cria oo mais novo versão do modelo de banco de dados, mas os mecanismos de migração sãonão invocado (cenárioB).

EmA uma exceção é lançada quando desejo acessar o banco de dados, pois - obviamente - ele não está lá. EmB banco de dados é criado corretamente mecanismos de migração sãonão chamado, como é o caso na cadeia de conexão padrão.

app.config: "Data Source=localhost\\SQLEXPRESS;Initial Catalog=Db13;User ID=xxx;Password=xxx"

construtor:

sqlBuilder.DataSource = x.DbHost;
sqlBuilder.InitialCatalog = x.DbName;
sqlBuilder.UserID = x.DbUser;
sqlBuilder.Password = x.DbPassword;

inicializador:

Database.SetInitializer(
    new MigrateDatabaseToLatestVersion<
        MyContext,
        Migrations.Configuration
    >()
);

Especificações: Entity Framework: 5.0, DB: SQL Server Express 2008

questionAnswers(7)

yourAnswerToTheQuestion