EntityFramework Code-First benutzerdefinierte Verbindungszeichenfolge und Migrationen

Wenn ich ein Rahmen mit einem Standard-Verbindungszeichenfolge (wie Lesen aus der app.config) die Datenbank wird erstellt und die Migrationen der Arbeit - im Grunde alles in Ordnung ist. In der Erwägung, dass, wenn die Verbindungszeichenfolge erstellt programmgesteuert (mit SqlConnectionStringBuilder):

  • Datenbank nicht erstellt, wenn die Datenbank nicht vorhanden ist (Szenario A);
  • CreateDbIfNotExists() schafft die neuesten version der Datenbank-Modell, aber die migration Mechanismen sind nicht aufgerufen wird (Szenario B).

In A eine Ausnahme wird geworfen wenn ich wollen Zugriff auf die Datenbank, wie Sie - offensichtlich - es ist nicht da. In B Datenbank ist richtig erstellt, migration Mechanismen sind nicht genannt, wie es der Fall in der standard-Verbindungszeichenfolge.

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

builder:

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

Initialisierer:

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

Specs:
Entity Framework: 5.0, DB: SQL Server Express 2008

InformationsquelleAutor der Frage Red XIII | 2013-03-19

Schreibe einen Kommentar