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?