8

Mam dwie bazy danych, każda z własnym kontekstem db. Mam dwie konfiguracje migracji. Mogę dodać migrację do pierwszej db ust fine (Add-Migration DB1_InitialCreate -ConfigurationTypeName DB1Configuration). Kiedy próbuję utworzyć wstępną migrację z drugim db przy użyciu: Add-Migration DB2_InitialCreate -ConfigurationTypeName DB2Configuration, pojawia się następujący błąd:Kod EF Pierwsza migracja z wieloma bazami danych/DbContext

Unable to generate an explicit migration because the following explicit migrations are pending: [201205082215265_DB1_InitialCreate]. Apply the pending explicit migrations before attempting to generate a new explicit migration.

Więc robię to, co mówi i aktualizuje bazę danych z:

Update-Database -ConfigurationTypeName DB1Configuration 

potem spróbuj ponownie dodać migrację do drugiego db, ale ciągle pojawia się ten sam błąd.

Jakieś pomysły dotyczące migracji do dwóch baz danych/kontekstów?

Odpowiedz

10

Byłem w stanie odpowiedzieć na moje własne pytanie. Moje dwie klasy konfiguracji istniały w tej samej przestrzeni nazw. Jak tylko je oddzieliłem, wszystko działało.

+0

mam dwa DbContexts w tej samej przestrzeni nazw, ale nie otrzymuj tego problemu. Korzystanie z EF 5.0 RTM. – angularsen

+1

+1 - Musiałem również rozdzielić je według przestrzeni nazw (EF 5.0). – rufo

+2

Musiałem również rozdzielić je według przestrzeni nazw (EF 6.x); nie wystarczyło Aktualizacja-bazy danych-Konfiguracja-Nazwa-nazwy-Nazwa-Konfiguracja – subsci

5

Minęło trochę czasu, ale może to być lepsze rozwiązanie do Twojego problemu :)

Update-Database -ConfigurationTypeName "SlaveConfiguration" 
       -StartupProjectName "FacturatieMVCv2.Data" -Verbose 
       -ConnectionString "connstring;" 
       -ConnectionProviderName "System.Data.SqlClient" 
5

Z Entity Framework 6 łatwo.

To ta sama procedura, zarówno dla wielu DbContexts na jednej bazie danych, a dla wielu DbContexts dla każdej własnej bazy danych:

Enable-Migrations -ContextTypeName <DbContext-Name-with-Namespaces> -MigrationsDirectory:<Migrations-Directory-Name>

Add-Migration -configuration <DbContext-Migrations-Configuration-Class-with-Namespaces> <Migrations-Name>

Update-Database -configuration <DbContext-Migrations-Configuration-Class-with-Namespaces> -Verbose

Source

Powiązane problemy