Benutzerdefinierte EntityFramework-Code-First-Verbindungszeichenfolge und Migrationen

Wenn ich einen Kontext mit einer Standardverbindungszeichenfolge erstelle (wie von der gelesen)app.config) Die Datenbank wird erstellt und die Migrationen funktionieren - im Grunde ist alles in Ordnung. Wohingegen, wenn die Verbindungszeichenfolge programmgesteuert erstellt wird (mithilfe vonSqlConnectionStringBuilder):

Datenbank wird nicht erstellt, wenn die Datenbank nicht vorhanden ist (SzenarioA);CreateDbIfNotExists() schafft dieneueste Version des Datenbankmodells, aber die Migrationsmechanismen sindnicht aufgerufen (SzenarioB).

ImA Eine Ausnahme wird ausgelöst, wenn ich auf die Datenbank zugreifen möchte, da sie offensichtlich nicht vorhanden ist. ImB Datenbank richtig angelegt sind Migrationsmechanismennicht aufgerufen, wie es in der Standardverbindungszeichenfolge der Fall ist.

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

Baumeister:

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

Initialisierer:

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

Technische Daten: Entity Framework: 5.0, Datenbank: SQL Server Express 2008

Antworten auf die Frage(7)

Ihre Antwort auf die Frage