Esecuzione della migrazione del database DNX (EF7) su Azure

asp.net azure database-migration dnx entity-framework-core

Domanda

Ho eseguito un progetto MVC con ASP.NET 4.6 e EF7 localmente e tutto funziona correttamente. Ho eseguito il dnx. ef migration Comandi iniziali per creare le tabelle del database e tutto è andato bene. L'app funziona.

Con Azure ho un problema, non riesco a eseguire il dnx. comando di migrazione ef quindi il mio database SQL è vuoto. Ho eseguito il debug di Startup.cs e la stringa di connessione è stata recuperata correttamente, ma le tabelle non sono presenti.

Ho usato l'opzione Pubblica in Visual Studio 2015 per la distribuzione sulla mia app Web di Azure.

Come posso eseguire questo comando sulla mia app Web? C'è un altro modo per generare il database?

Grazie

Risposta accettata

Sembra che il team EF abbia eliminato i famigerati inizializzatori del database e offra un metodo più versatile per quello sulla versione 7.

Basta usare questi metodi nella pipeline prima di ogni chiamata al database,

yourDbContext.Database.EnsureCreated();

per creare il database nel caso in cui non esiste e

yourDbContext.Database.Migrate();

applicare le migrazioni (se si utilizza questa funzionalità in seguito). Entrambi i metodi sopra hanno anche una versione asincrona.

Nella mia soluzione ho creato una classe statica che uso per inizializzare il database e inizializzarlo con alcuni dati. Chiaro il metodo Seed dal metodo Configure nella classe Startup quando viene soddisfatta una condizione.




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché