EntityFramework è stato originariamente progettato con l'approccio "Model-First" come l'approccio preferito per creare il tuo livello di accesso ai dati, tuttavia molti negozi di software sembrano ancora vivere nel Medioevo dove preferiscono progettare lo schema prima e poi il modello per accontentarlo Ok, potrei essere un po 'ingiusto, se hai un'elaborazione intensiva del database in cui le stored procedure avvantaggiano le prestazioni, allora ha senso iniziare dal database e aprirti la strada.
Indipendentemente da ciò, quando ho giocato con la prima versione di EntityFramwork, il supporto per l'aggiornamento del modello dal database esisteva, tuttavia all'inizio era un po 'buggato. Questo è stato anni fa, tuttavia, e ricordo di aver letto che molte di quelle questioni sono state elaborate da allora. Non sento nulla di ciò che EntityFramework viene utilizzato in questo modo.
Is it difficult to track changes and make code work?
Tutto dipende se stai seguendo un'architettura opportunamente stratificata con accoppiamento lento. Idealmente, se il modello EntityFramework cambia, le modifiche nei livelli Data Access e Business Logic dovrebbero essere vincolate ai livelli che utilizzano il modello EntityFramework.
Idealmente se stai praticando TDD, i tuoi test unitari dovrebbero fallire e indicare quali aree devono essere rifatte dopo un cambio di modello.