2009-07-31 7 views

Antwort

5

LINQ ein großer Vorteil gegenüber den meisten anderen Datenzugriffsmethoden hat: es dreht sich um die "Abfrage Ausdruck 'Metapher, was bedeutet, dass Abfragen wie Objekte herumgereicht und verändert und modifiziert werden können, alle vor werden sie ausgeführt (iteriert). In der Praxis bedeutet dies, dass Code modular und besser isoliert werden kann. Das Datenzugriffs-Repository gibt die Abfrage 'Aufträge' zurück, dann wird ein Zwischenfilter in der Anfrageverarbeitungspipeline diese Abfrage mit einem Filter dekorieren, dann wird sie an ein Anzeigemodul weitergeleitet, das Sortieren und Paginierung etc. hinzufügt. Am Ende wann iteriert, hat sich der Ausdruck vollständig in sehr spezifische SELECT ... WHERE ... ORDER BY ... LIMIT ... (oder die andere Back-End-spezifische Seitenumbruch wie ROW_NUMBER) umgewandelt. Für Anwendungsentwickler ist dies unbezahlbar und es gibt einfach keine brauchbare Alternative. Deshalb glaube ich, dass LINQ hier bleiben wird und nicht in 2 Jahren verschwinden wird. Es ist definitiv mehr als nur eine Modeerscheinung. Und ich beziehe mich speziell auf LINQ als Datenbankzugriffsmethode.

Der Vorteil der Manipulation von Abfrageausdruckobjekten allein reicht aus, um LINQ zu einem erfolgreichen Gebot zu machen. Fügen Sie dazu die verschiedenen Containertypen hinzu, die manipuliert werden können (XML, Arrays und Collections, Objekte, SQL) und die einheitliche Schnittstelle, die es über all diese unterschiedlichen Technologien bietet. Bedenken Sie die Parallelverarbeitungsänderungen, die in .Net 4.0 eintreffen transparent in die LINQ-Verarbeitung von Arrays und Sammlungen integriert, und LINQ wird nicht wegfallen. Sicher, heute produziert es manchmal unlesbares, schlecht performantes und nicht entpackbares SQL und ist jeder dedizierte DBA Albtraum. Es wird besser.

+0

lol @ "jeder dedizierte DBA Alptraum". – Tundey

+0

Große Antwort (ich hatte die gleiche Frage selbst) und gut zu wissen "manchmal produziert unlesbar, schlecht performant und nicht entpackbar SQL." :) – JohnB

4

Linq bietet "erstklassigen" Zugriff auf Ihre Daten. Das bedeutet, dass Ihre Abfragen jetzt Teil der Programmiersprache sind.

Linq bietet eine allgemeine Möglichkeit, auf Datenobjekte aller Art zuzugreifen. Beispielsweise kann dieselbe Syntax, die für den Zugriff auf Ihre Datenbankabfragen verwendet wird, auch für den Zugriff auf Listen, Arrays und XML-Dateien verwendet werden.

Lernen Linq vermittelt Ihnen ein tieferes Verständnis der Programmiersprache. Linq war der Treiber für alle Arten von Sprachinnovationen, wie z. B. Erweiterungsmethoden, anonyme Typen, Lambda-Ausdrücke, Ausdrucksbäume, Typinferenz und Objektinitialisierer.

+0

Ich mag den 2. Grund am besten. – JohnB

0

Ist das eine echte Frage? Es kann nicht mit einem Code-Snippet beantwortet werden. Die meisten dieser Diskussionstyp-Fragen werden schnell geschlossen.

+3

... wahrscheinlich am besten als Kommentar ausgedrückt. –

+1

@Robert Harvey, ja wahrscheinlich am besten, ein Kommentar zu sein, aber der Inhalt ist wahr –

2

Ich denke, eine bessere Frage ist, warum sollte man SQL mit LINQ ersetzen, wenn man eine Datenbank abfragt?

+1

Typ-Safe-Intellisense in Visual Studio, anstatt Ihre großen Blobs von Text (SQL-Abfragen) ohne Typ-Prüfung und keine Sicherheit (bläst nur zur Laufzeit in der Produktion hochfahren .....) –

+1

@mark_s: obwohl es andere Möglichkeiten gibt, dies zu tun. Stark typisierte Datensätze zum Beispiel. –

+1

Linq ist die bevorzugte Methode für den Zugriff auf Ihre Daten über ein ORM wie Linq to SQL oder das Entity Framework. –

1

"Kennen Sie Ihren Feind"?

OTOH, aus Interesse. Ich lerne mehr über XMl, XSLT, XSDs usw., weil ich eine Verwendung für sie als Datenbankentwickler sehen kann.

0

Ich denke, einer der vielen Gründe, warum man es Linq in Erwägung ziehen könnte, weil Linq große Steigerung der Produktivität und enorm viel Zeit ist Schoners

0

Diese Frage veranlasst mich auch zu fragen, wenn LINQ immens populär wird, wissen serverseitige Entwickler SQL sowie ihre Vorgänger?

+2

Wie gut kennen Sie die Montage? –

Verwandte Themen