2014-11-24 22 views
6

Attualmente sto tentando di passare da Migrazioni automatiche di Entity Framework a migrazioni code-first. Per un breve retroscena, questa soluzione è suddivisa in quattro progetti separati: Dati, Modelli, Servizi e Web. Le informazioni sulla stringa di connessione si trovano nel progetto Web e il contesto si trova nel progetto di dati.Passaggio da migrazione automatica EF a migrazione prima del codice

Ora ho eseguito "Abilita-Migrazioni" e sembra funzionare correttamente.

Da qui, elimino la tabella migrationHistory esistente nel database.

Esecuzione

Add-Migration -projectName Data" 

genererà una migrazione appropriata.

il problema è quando si tenta di eseguire Update-Database, il risultato e 'un errore generico:

> A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or 
> was not accessible. Verify that the instance name is correct and that 
> SQL Server is configured to allow remote connections. (provider: SQL 
> Network Interfaces, error: 26 - Error Locating Server/Instance 
> Specified) 

posso connettersi al database utilizzando le credenziali fornite nel web.config, e le connessioni al database ho lavorato appropriatamente negli ultimi mesi, quindi non credo che sia un problema di connettività a meno che le migrazioni Code-First richiedano una porta diversa dalla Migrazione automatica.

ho pensato che era solo non vedere la stringa di connessione in dotazione nel web.config, ma in esecuzione

Update-Database -projectName data -startupprojectname web 

risultati nello stesso errore

La mia domanda:

Come faccio aggirare l'errore di rete generico, date le informazioni di cui sopra? Questo problema è un problema di visibilità, in cui le migrazioni code-first del progetto di dati non possono vedere la stringa di connessione nel progetto web?

risposta