Sembra che CodeFirst smetta di fare i compiti quando non ha il pieno controllo del database (suppongo). Lo scenario è un sito web ospitato su Arvixe.com (o suppongo qualsiasi altro server di hosting condiviso), dove devo creare database solo dal loro pannello di controllo (e NON con SQL Server Management Studio, solo per dire ...) . Una volta creato un database vuoto, registro un collegamento nel sito web, e lo uso per generare dati da oggetti Poco come in:add-migration non funziona con database SQL server remoti in hosting condiviso
add-migrazione m1 -TargetDatabase MyConnection
Questo genera correttamente la mia prima migrazione , che posso applicare senza problemi con
update-banca dati -TargetDatabase MyConnection
la prima preoccupazione, non troppo importante, è che, poiché il database è esistente, verrà non emette il comando dei semi, quindi devo inserisci i miei primi dischi a mano, ma questo è non è un grosso problema.
Poi posso cambiare la mia oggetti Poco, e ho bisogno di aggiornare il database, ma quando emetto ALTRO
add-migrazione m2 -TargetDatabase MyConnection
dà l'errore:
sistema. Data.Entity.Migrations.MigrationsPendingException: impossibile generare una migrazione esplicita perché sono in corso le seguenti migrazioni esplicite: [201111081426466_m1]. Applicare le migrazioni esplicite in attesa prima di tentare di generare una nuova migrazione esplicita.
Questo è davvero strano, dal momento che se guardo il database, posso vedere anche il __MigrationHistory tavolo, ma poi sembra che non possa riconoscerlo ...
Chiunque con lo stesso problema, o qualche buona punta a dove indagare? Grazie in anticipo, Andrea Bioli
Ok, solo nel minuto dopo il post, mi sono reso conto che la tabella __MigrationHistory NON è stata creata come tabella di sistema ... quindi è ovvio che la seconda volta, non riesce a trovarlo ... quindi il problema sembra essere i diritti di scrivere la tabella nel posto giusto ... – Andrea