Din experiența mea, cheltuielile aeriene sunt minime, cu condiția ca persoana care scrie întrebările să știe ce face și să ia măsurile de precauție obișnuite pentru a se asigura că interogările generate sunt optimale, că indiciile necesare sunt în vigoare etc. Cu alte cuvinte, impactul bazei de date ar trebui să fie același; există o atitudine minimă, dar de obicei neglijabilă, pe partea aplicației.
Acestea fiind spuse ... există o singură excepție; dacă o singură interogare generează mai multe agregate, furnizorul L2S îl traduce într-o interogare mare cu o sub-interogare pe agregat. Pentru o masă mare aceasta poate avea un impact semnificativ I / O, deoarece costul de intrare / ieșire db pentru interogare crește după mărimi pentru fiecare agregat nou din interogare.
Soluționarea pentru aceasta este, desigur, pentru a muta agregatele în proc stocate sau vizualizate. Matt Warren are un exemplu de cod pentru un furnizor de interogare alternativ care traduce astfel de interogări într-un mod mai eficient.
Resurse:
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback. aSPX? FeedbackID = 334211
http: //blogs.msdn.com/mattwar/archive/2008/07/08/linq-building-an-iqueryable-provider-part-x.aspx