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
):
A
);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