Un contesto per questa domanda: non si tratta del tempo di sviluppo sull'iterazione di sviluppo intera , ma solo dello stadio di distribuzione delle modifiche dall'ambiente di sviluppo a quello di produzione. "LINQ" qui significa veramente LINQ, ORM o C # in cui sarebbe altrimenti usato T-SQL. E qui "stored proc" è solo un termine generico che comprende oggetti di database che includono processi, funzioni e viste memorizzati. La domanda è stata appena formulata come "LINQ", "stored procs" poiché i due vengono comunemente confrontati nelle domande. Per restringere la portata della discussione possiamo assumere le applicazioni web. Ora finalmente la domanda è,
Quali sono i trade-off nel costo di implementazione (da dev a prod) tra i due approcci?
Alcuni dicono che è più facile eseguire il rollback delle modifiche dello schema Db rispetto alle modifiche di rollback su file C # in una soluzione. Altri dicono che è più semplice la versione o il codice C # di controllo sorgente rispetto agli oggetti schema Db. Se apporti modifiche alle query LINQ, molto probabilmente dovrai ricompilare l'app per spingere le modifiche a prod. Se apporti modifiche allo schema del database, potrebbe essere necessario eseguire uno script T-SQL per sincronizzare le modifiche a prod.
Come per molte decisioni con la programmazione, la soluzione scelta potrebbe essere sensibile al contesto. per esempio. per le strutture dati alcune situazioni possono richiedere una mappa hash e, per altre, potrebbe essere meglio usare uno stack. Ognuno ha i suoi vantaggi / svantaggi.