Il mio problema con il codice generato automaticamente è la mancanza di manutenibilità. Se c'è una piccola modifica nel database, devi aggiornare l'intera sezione di codice generato e assicurarti che siano entrati solo i cambiamenti previsti. E se non stai usando alcun repository di codice che non ti dice le modifiche nel codice quindi è molto più difficile trovare le modifiche al codice. Significa anche che l'intero componente deve essere testato di nuovo completamente per tutti gli scenari.
Inoltre, ho notato che gli sviluppatori che lavorano sul codice generato legacy a volte apportano modifiche manuali nel codice generato invece di generare nuovamente la sezione del codice generato automaticamente. Dopo un periodo di tempo diventa quasi impossibile sostituire il codice generato automaticamente.
Il Code First of Entity Framework mi sembra un'opzione molto migliore. La modifica del codice è localizzata in un determinato file, quindi meno possibilità di rompere qualsiasi funzionalità esistente.
Quindi, in poche parole, se hai un team molto disciplinato che non tocca le sezioni generate e copre anche diligentemente tutti gli scenari di test usando Test unitari ... quindi con tutti i mezzi puoi adottare un approccio al codice generato ma provare ad avere Codice Primo approccio il più possibile.