Penso che l'argomento pro LINQ sembra provenire da persone che non hanno una storia con lo sviluppo del database (in generale).
Soprattutto se si utilizza un prodotto come VS DB Pro o Team Suite, molti degli argomenti qui riportati non si applicano, ad esempio:
Più difficile da mantenere e testare: VS fornisce il controllo completo della sintassi, il controllo dello stile, il controllo referenziale e dei vincoli e altro ancora. Fornisce inoltre funzionalità complete di test unitari e strumenti di refactoring.
LINQ rende impossibile il vero test unitario poiché (nella mia mente) non supera il test ACID.
Il debug è più semplice in LINQ: perché? VS consente il pieno passaggio dal codice gestito e il debug regolare degli SP.
Compilato in una singola DLL anziché in script di distribuzione: Ancora una volta, VS viene in soccorso dove può creare e distribuire database completi o apportare modifiche incrementali sicure per i dati.
Non devi imparare TSQL con LINQ: No, non devi, ma devi imparare LINQ - dov'è il vantaggio?
Davvero non lo vedo come un vantaggio. Essere in grado di cambiare qualcosa in isolamento potrebbe sembrare buono in teoria, ma solo perché i cambiamenti soddisfano un contratto non significa che sta restituendo i risultati corretti. Per essere in grado di determinare quali sono i risultati corretti, è necessario contesto e si ottiene quel contesto dal codice chiamante.
Ehm, le app debolmente accoppiate sono l'obiettivo finale di tutti i bravi programmatori poiché aumentano davvero la flessibilità. Essere in grado di cambiare le cose in isolamento è fantastico, ed è il tuo test unitario che assicurerà che stia ancora restituendo risultati adeguati.
Prima che vi arrabbiate, penso che LINQ abbia il suo posto e abbia un grande futuro. Ma per applicazioni complesse ad alta intensità di dati non penso che sia pronto a sostituire le procedure memorizzate. Questa è stata una visione che ho fatto eco da un MVP alla TechEd quest'anno (rimarranno senza nome).
EDIT: il lato delle procedure memorizzate LINQ to SQL è qualcosa su cui ho ancora bisogno di leggere di più - a seconda di ciò che trovo potrei modificare la mia precedente diatriba;)