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

baza danych nie jest tworzona, gdy baza danych nie jest obecna (scenariuszA);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

questionAnswers(7)

yourAnswerToTheQuestion