Mi sono ritrovato in uno strano scenario di Groundhog Day con una mia applicazione MVC.
A meno che non applichi la mia soluzione alternativa (più avanti in questa domanda) ogni volta che eseguo il debug dell'applicazione, mi viene presentato questo errore:
Il modello che supporta il contesto "UsersContext" è stato modificato da quando è stato creato il database. Prendi in considerazione l'utilizzo di Code First Migrations per aggiornare il database ( http://go.microsoft.com/fwlink/?LinkId=238269 ).
Non ho cambiato il modello.
Il mio workflow workflow è:
Gli appunti:
Questo è abbastanza frustrante, come risolverei questo problema in modo permanente?
Nota: le migrazioni automatiche non sono adatte al mio scenario.
Bene, è quasi impossibile capire cosa c'è che non va, senza conoscere molti più dettagli. Quindi tutto ciò che posso fare è darti qualche indizio su cosa potresti provare.
Arrestare e riavviare l'app non dovrebbe causare il DB non aggiornato. È solo durante il debug? Hai provato a eseguire l'app senza eseguire il debug? Quindi riciclare il pool di app e riavviare l'app.
Hai qualche strano passaggio post-compilazione che sovrascriverà alcune DLL nella tua cartella "bin"?
La tua app sta facendo qualcosa che modifica lo schema del database, invalidandolo quindi al prossimo avvio? Esegui SQL profiler per verificare cosa sta accadendo al DB all'avvio dell'app.
Eseguire nuovamente la migrazione alla prima versione del proprio schema e quindi eseguire nuovamente il backup (eseguire prima il backup del DB ):
update-database -TargetMigration:0 -verbose
poi
update-database -verbose
Commenta temporaneamente la maggior parte della tua app per cercare di isolare la causa.
Crea una nuova app con EF configurato allo stesso modo, copia la stringa di connessione e verifica se ciò accade. Se no, allora deve esserci qualcosa di diverso. Se sì, mostraci le impostazioni EF.
Spero che qui qualcosa possa darti un'idea almeno. In bocca al lupo!