Niestandardowy ciąg połączenia i pierwsze migracje kodu EntityFramework
Kiedy tworzę kontekst z domyślnym ciągiem połączenia (odczytywanym zapp.config
) baza danych jest tworzona i migracje działają - zasadniczo wszystko jest w porządku. Natomiast gdy ciąg połączenia jest tworzony programowo (przy użyciuSqlConnectionStringBuilder
):
A
);CreateDbIfNotExists()
tworzyNajnowszy wersja modelu bazy danych, ale istnieją mechanizmy migracjinie wywołany (scenariuszB
).WA
Wyjątek jest zgłaszany, gdy chcę uzyskać dostęp do bazy danych, ponieważ - oczywiście - jej tam nie ma. WB
tworzona jest baza danych poprawnie działają mechanizmy migracjinie wywoływany, jak w przypadku standardowego ciągu połączenia.
app.config: ”Data Source=localhost\\SQLEXPRESS;Initial Catalog=Db13;User ID=xxx;Password=xxx
"
budowniczy:
sqlBuilder.DataSource = x.DbHost;
sqlBuilder.InitialCatalog = x.DbName;
sqlBuilder.UserID = x.DbUser;
sqlBuilder.Password = x.DbPassword;
inicjator:
Database.SetInitializer(
new MigrateDatabaseToLatestVersion<
MyContext,
Migrations.Configuration
>()
);
Okular: Entity Framework: 5.0, DB: SQL Server Express 2008