Próbuję użyć pierwszych migracji kodu EF do zbudowania bazy danych, jeśli nie istnieje. Do tej pory udało mi się pomyślnie wykonać Enabled-Migrations
. Użyłem także Add-Migrations
do wykonania początkowej migracji, która buduje bazę danych. Skrypt jest w kierunku Migracje i wygląda poprawnie.Inicjator MigrateDatabaseToLatestVersion nie może utworzyć bazy danych
To jest ciało moje główne metody
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyDbContext, Configuration>());
var directConfigContext = new MyDbContext();
Wszystko Czytałem, że mówi to wszystko, czego potrzebuję. MyDbContext
jest w app.config
i wygląda następująco:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="MyDbContext" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=DbConfig;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
Dodatkowo, jeśli mogę użyć klasę DbMigrator dostarczone przez EF, baza danych jest poprawnie zbudowane (prawdopodobnie za pomocą wstępnego scenariusza migracji bazy danych).
// This is how it actually works including creating the database if it doesn't exist.
var dbMigrator = new DbMigrator(new Configuration());
dbMigrator.Update();
Z tego co rozumiem, ustawienie inicjator na MyDbContext
a potem uruchamianiu że DbContext
należy utworzyć bazę danych do najnowszej migracji ... Czego mi brakuje?