2014-04-21 5 views
6

Ho un sito Web di Azure configurato per la distribuzione da Visual Studio Online (TFS ospitato). Sto valutando il passaggio da Database First model a Code First from Existing Database model.Come eseguire migrazioni EF durante la distribuzione nel sito Web di Azure tramite Visual Studio Online

Attualmente, come codice di accesso a Visual Studio Online, viene distribuito nel sito Web di Azure. Come configurare questo processo per eseguire Migrazioni EF sul database SQL di Azure remoto (live o test) quando eseguo il check-in del codice in Visual Studio Online.

risposta

4

AFAIK, è necessario utilizzare l'opzione di profilo di pubblicazione per ottenere ciò.

dovete scaricare il profilo Pubblica file impostazioni per il sito web, importare il file in Visual Studio, configurare il eseguire codice prime migrazioni opzione e quindi specificare il percorso del file del profilo in Build definizione utilizzata per la distribuzione continua.

È possibile controllare sotto posta per riferimento.

http://blogs.msdn.com/b/webdev/archive/2014/04/09/ef-code-first-migrations-deployment-to-an-azure-cloud-service.aspx

+0

Grazie per una risposta Jehan. Sono a conoscenza di questa opzione nello strumento Pubblica. Ma sto cercando il metodo che utilizza le distribuzioni tramite il controllo del codice sorgente (Visual Studio Online). –

+1

I passaggi menzionati nella mia risposta sono per la distribuzione tramite build di Visual Studio Online utilizzando l'opzione di pubblicazione. – Jehan33

+1

Quindi c'è un modo per farlo con la distribuzione continua? – DanJosef

2

So che è un vecchio post, ma ho could't trovare una buona risposta, così dopo capire come risolverlo sto condividendo una soluzione. Lavoro in un progetto con livello DDD e livello N. Quindi, significa che EF non è nello stesso progetto di WebApi, quindi non ha alcuna opzione per eseguire la migrazione durante la procedura guidata di pubblicazione. Per risolverlo ho eseguito update-database direttamente dalla console del gestore pacchetti.

Passi:

  1. acquisire la stringa di connessione ADO (https://azure.microsoft.com/en-us/documentation/articles/sql-database-connectivity-issues/#connections-to-azure-sql-database)

  2. Dal gestore di pacchetti run console: update-banca dati -StartUpProjectName NAMEPROJECTWITHEF -ConnectionString "stringa di connessione ottenuto da una voce" -ConnectionProviderName "System.Data.SqlClient"

questo è tutto!

migliori saluti, thiago