Ho bisogno di aiuto! Sono nuovo di Core 2.0 e VS 2017 e non ho avuto molta esperienza con MVC. Ho un database esistente che ho bisogno di utilizzare con un progetto di base 2.0 al lavoro. Sono stato in grado di utilizzare Scaffold-DbContect per creare inizialmente i modelli di dominio dal database esistente.
Tuttavia, gli sviluppatori del database stanno apportando modifiche al database e aggiungendo nuove tabelle. Devo mantenere i miei modelli di dominio sincronizzati con le modifiche al database che vengono apportate.
L'unica cosa che posso trovare su internet è come apportare modifiche al modello e aggiornare lo schema del database. Tuttavia, ho bisogno di aggiornare il modello dalle modifiche apportate al database.
EF Core lavora sull'approccio Code First. E voi ragazzi state seguendo DB Primo approccio insieme. Quindi dovresti apportare delle modifiche al tuo codice e quindi generare di conseguenza le migrazioni. Altrimenti, ti porterà nei guai.
È possibile utilizzare lo strumento EF Core Power per generare le modifiche db sul lato del codice. Ma in questo caso è necessario fare attenzione durante la generazione di migrazioni dal lato del codice.
Ho un tipo di situazione simile. Qualcuno ha già progettato e creato il database (56 tabelle) in SQL Server, e se n'è già andato. Sto creando un'applicazione web usando quel database. Preferisco fare il primo approccio al codice EF in modo da poter controllare il database dal codice. Il problema è che ci vuole un po 'di tempo per creare tutte le tabelle con relazioni, vincoli e alcune convenzioni sui nomi, è necessario fare un refactoring del bit che è difficile da fare se si segue il primo approccio del database. Ho stimato che si tratta di un lavoro di una settimana (5 giorni lavorativi), ma la sfida, come posso concordare il mio responsabile IT perché è più preoccupato che se investiamo 1 settimana, vale la pena? noi dobbiamo farlo.
Qualcuno può elencare i vantaggi reali del primo approccio al codice e i problemi che dovremo affrontare con il primo approccio al database.