2009-03-30 17 views
7

Ich habe gerade gelesen, dass Linq zu SQL eingestellt wird. Eine Zeit lang habe ich Linq überhaupt nicht weiter unterrichtet. Sogar auf asp.net, als ich das letzte Mal überprüft habe, verwendeten ihre Datenzugriffs-Tutorials Tabellenadapter und DLL-Klassen. Dann gibt es linq Tutorials. Nun, da ich dies gelesen habe und dass das Entity Framework der neue Weg ist, bedeutet das all das Linq "Zeug", über das ich seit anderthalb Jahren gelesen habe, wie großartig es ist, usw., all dies einfach weg? Niemand scheint jemals auf dem richtigen Weg zu sein, Dinge oder zumindest einen Standard mit MS-Produkten zu machen. Und ich verstehe, dass Sie nicht sagen können, dass ein Weg für alles richtig ist. Aber in diesem speziellen Fall verstehe ich nicht, warum der Datenzugriff nicht geregelt werden kann.Ist LinqToSQL das gleiche wie Linq?

Oder ist Linq To SQL nur der ORM-Teil von Linq? Was genau würde ich jetzt lernen, wenn ich ein ORM verwenden möchte? Ich habe einige Dinge auf StackOverflow gelesen, aber keine, die mir wirklich helfen zu wissen, was zu tun ist.

Es scheint, dass nHibernate besser als jede der Microsoft-Optionen ist. Ja, ich weiß, dass es andere gibt (Unterschall und andere wurden in verschiedenen SO-Fragen erwähnt.)

Vielen Dank.

Antwort

13

No.

LINQ to SQL ist oben auf LINQ gebaut, die eine der grundlegenden hinzugefügt Sprache kennzeichnet .NET 3.5 Framework in.

Technisch können andere ORMs ihre eigenen LINQ-Systeme implementieren, z. B. NHibernate hat bereits LINQ zu NHibernate gehen. Dies steht über den im Framework bereitgestellten Elementen wie LINQ to XML, LINQ to Objects usw.

+0

Es gibt eine lächerliche Anzahl von Anbietern, einschließlich LINQ to Twitter, etc. Ich wage zu sagen, dass diese für jemanden da draußen nützlich sind. :) – ZombieSheep

+0

LINQ zu Twitter ?! Ich sollte danach suchen. : P –

+0

http://www.codeplex.com/LinqToTwitter * seufz * - Ich bin gerade ein wenig innerlich gestorben. ;) – ZombieSheep

3

Linq ist viel mehr als Linq-to-SQL. Dinge wie Linq-to-Objects und Linq-to-XML sind zum Beispiel Teil der Technologie.

Ich bezweifle, dass sie weggehen! Daumen drücken. ;-)

5

Linq to sql ist nur einer von vielen linq-Anbietern da draußen (es gibt linq to db4o, linq to starcounter, linq zu Objekten, linq to ado und viele, viele mehr). Das Entity-Framework hat seinen eigenen linq-Provider namens linq to enteties. Ihr Jahr des Lesens über Linq ist nicht verloren.

2

LINQ ist nicht verschwunden. LINQ to SQL hat dies auch nicht, aber es ist nicht die strategische Plattform von Microsoft für den Datenzugriff, sondern Entity Framework. EF verwendet LINQ to Entities. Wenn Sie also viel Zeit mit LINQ verbracht haben, ist es immer noch gültig und nützlich.

LINQ ist jedoch keine produktspezifische Technologie. Es ist einfach, die Kraft und Flexibilität in Sammlungen von (fast) allen Arten zu nutzen. z.B.

List<MyType> myList = new List<MyType>(); 
// populate the list here 
var filteredResults = from o in myList 
         where o.property == "hello world" 
         select o; 

ist (conceptualy) gültig, auch wenn das Codebeispiel hier fehlerhaft ist.

10

Das Entity Framework bedeutet sicherlich nicht, dass LINQ weggeht - das Entity Framework ist selbst ein LINQ-Provider!

LINQ ist eine ganze Sammlung von Technologien, und mehr als das - es ist ein Muster, das Sie für Ihren eigenen Datenprovider auch implementieren können.

LINQ to SQL ist nur ein Beispiel für dieses Muster. Für das, was es wert ist, denke ich, dass LINQ to SQL weniger betont wird als dass es tatsächlich weggeht, aber wir werden sehen ...

Persönlich finde ich LINQ to Objects den nützlichsten LINQ-Anbieter in erster Linie :)

0

LINQ ist eine Bibliothek für die Sequenzen der Datenverarbeitung. Und es ist ziemlich toll. Diese Datenfolgen können alles sein, was IEnumerable implementiert, oder es können alle Sequenzen sein, die von Adaptern bereitgestellt werden.

Linq to SQL ist ein Adapter, mit dem eine SQL-Datenbank Datenfolgen bereitstellen kann, die mit LINQ kompatibel sind.

Es gibt auch einen Linq to XML, der ein Adapter ist, mit dem Sie ein XML-Dokument als eine Sequenz von Daten behandeln können, die es LINQ ermöglicht, es zu verarbeiten.

LINQ ist nur die Abfragesprache und es ist extrem gut in dem, was es tut. Es hat nichts mit Datenbanken oder SQL zu tun. Es lohnt sich, es zu lernen, um In-Memory-Sammlungen einfach verarbeiten zu können.

Verwandte Themen