Ich denke, das Pro-LINQ-Argument scheint von Leuten zu kommen, die (im Allgemeinen) keine Geschichte mit Datenbankentwicklung haben.
Insbesondere bei Verwendung eines Produkts wie VS DB Pro oder Team Suite gelten viele der hier vorgebrachten Argumente nicht, z.
Schwieriger zu warten und zu testen: VS bietet vollständige Syntaxprüfung, Stilprüfung, Referenz- und Einschränkungsprüfung und mehr. Es bietet auch umfassende Unit-Test-Funktionen und Refactoring-Tools.
LINQ macht echte Unit-Tests unmöglich, da es (meiner Meinung nach) den ACID-Test nicht besteht.
Das Debuggen ist in LINQ einfacher: Warum? VS ermöglicht den vollständigen Einstieg in verwalteten Code und das regelmäßige Debuggen von SPs.
In eine einzige DLL kompiliert und nicht in Bereitstellungsskripten: Erneut hilft VS, vollständige Datenbanken zu erstellen und bereitzustellen oder datensichere inkrementelle Änderungen vorzunehmen.
Sie müssen TSQL nicht mit LINQ lernen: Nein, das tun Sie nicht, aber Sie müssen LINQ lernen - wo ist der Vorteil?
Ich sehe das wirklich nicht als Vorteil. In der Lage zu sein, etwas isoliert zu ändern, mag theoretisch gut klingen, aber nur weil die Änderungen einen Vertrag erfüllen, heißt das nicht, dass sie die richtigen Ergebnisse liefern. Um feststellen zu können, welche Ergebnisse korrekt sind, benötigen Sie einen Kontext, den Sie aus dem aufrufenden Code abrufen.
Ähm, lose gekoppelte Apps sind das ultimative Ziel aller guten Programmierer, da sie die Flexibilität wirklich erhöhen. Es ist fantastisch, Dinge isoliert ändern zu können, und es sind Ihre Unit-Tests, die sicherstellen, dass immer noch angemessene Ergebnisse erzielt werden.
Bevor Sie sich alle aufregen, denke ich, dass LINQ seinen Platz hat und eine große Zukunft hat. Für komplexe, datenintensive Anwendungen halte ich es jedoch nicht für bereit, gespeicherte Prozeduren zu ersetzen. Dies war eine Ansicht, die ich dieses Jahr von einem MVP bei TechEd bestätigt hatte (sie werden namenlos bleiben).
BEARBEITEN: Die Seite der gespeicherten Prozedur von LINQ zu SQL ist etwas, worüber ich noch mehr lesen muss - je nachdem, was ich finde, kann ich meine obige Diatribe ändern;)