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