Ho usato il database EntityFramework Core per creare il modello come illustrato nella documentazione di EF Core
Ma non so come aggiornare il modello quando il database è stato modificato.
Puoi re-impilare il modello eseguendo il comando che hai originariamente eseguito con l'opzione -Force
aggiunta. Ciò comporterà la sovrascrittura dei contenuti della cartella specificata. Utilizzando l' esempio della Console di Gestione pacchetti dai documenti EF Core , il comando revisionato diventa:
Scaffold-DbContext "Server=(localdb)\v11.0;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force
In alternativa, se si stanno utilizzando i comandi CLI , diventa:
dotnet ef dbcontext scaffold "Server=(localdb)\v11.0;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -o Models -f
Tuttavia, dovresti prendere in considerazione l'utilizzo delle migrazioni per mantenere sincronizzati il modello e lo schema del database. In questo modo apporti modifiche al modello e poi lo propaghi al database.
Se hai intenzione di aggiornare i modelli di volta in volta, ecco un modo conveniente per semplificare il processo.
Vai al menu Strumenti > Strumenti esterni , quindi Aggiungi un nuovo menu e compila le seguenti voci:
Titolo :
Update DbContext
Comando :
dotnet.exe
Argomenti :
ef dbcontext scaffold "your-connection-string" Microsoft.EntityFrameworkCore.SqlServer --output-dir=Models --force
Directory iniziale :
$(ProjectDir)
Quindi facoltativamente spunta "Usa finestra Output", premi Applica e OK .
Quando vai di nuovo su Strumenti , questo nuovo menu dovrebbe essere lì e pronto per essere riutilizzato, con un semplice clic di un pulsante!