Ho tre progetti nella mia soluzione.
BaseApp.Data
- che detiene il mio DBContext.
BaseApp.Data.ProjectMigration
- che contiene tutti i file di migrazione (dipende da BaseApp.Data
)
BaseApp.Web
- applicazione web con classe di avvio.
Ho aggiunto la mia prima migrazione in questo modo:
dnx ef migrations add Initial -p BaseApp.Data.ProjectMigration
Dopo questo comando, la cartella Migrations viene visualizzata con tutti i file corrispondenti in BaseApp.Data.ProjectMigration
. Quindi tutto è ok finora.
Di quanto tento di applicare le migrazioni:
dnx ef database update
Dopo questo comando viene creato il database, ma non vengono applicate migrazioni. Ho anche provato
dnx ef database update -p BaseApp.Data.ProjectMigration
con lo stesso risultato. Anche il comando successivo restituisce "Nessuna migrazione trovata".
dnx ef migrations list -p BaseApp.Data.ProjectMigration
Inoltre, se aggiungo migrazioni a BaseApp.Data
tutto funziona BaseApp.Data
. I prossimi comandi funzionano come previsto:
dnx ef migrations add Initial -p BaseApp.Data
dnx ef database update
Quindi è possibile mantenere i file di migrazione non nel progetto DBContext?
Avrai anche bisogno di impostare il tuo gruppo di migrazioni.
options.UseSqlServer(connectionString)
.MigrationsAssembly("BaseApp.Data.ProjectMigration");