Gerade wenn ich mich mit LINQ to SQL anfreunde, sieht es so aus, als würde MS den Teppich darunter herausziehen.
Nach meiner kleinen Recherche ist EF ein Übermaß für einfache Arbeit. Aber gibt es nach dieser Ankündigung einen Grund, LINQ to SQL weiterhin zu verwenden?
Sendet dies nicht über die Zukunft von LINQ to SQL hinaus im Allgemeinen ein schlechtes Signal? Ist es angesichts der Geschwindigkeit, mit der MS Bits gegen die Wand wirft, vernünftig, eines der neuen Bits frühzeitig zu verwenden? (und das ist nett, es ist kaum früh für LINQ to SQL!).
Für meine LINQ to SQL-Arbeit denke ich, dass ich zu SubSonic gehe!
Update: Ein paar neue Meinungen:
http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx
linq-to-sql
rp.
quelle
quelle
Dead or Alive
oderDead on arrival
?Antworten:
1) Sie können Linq-to-SQL nicht "töten", da es bereits Teil des .net-Frameworks ist. Was sie tun können, ist aufhören, Funktionen hinzuzufügen. Das hindert die Tausenden von Entwicklern, die L2S bereits verwenden, nicht daran, es zu erweitern und zu verbessern. Einige Kernbereiche sind schwierig zu berühren, aber sie sind bereits solide und die fehlenden Designerfunktionen können leicht angeschraubt werden .
2) Eine der PDC-EF-Sitzungen zeigt, dass sie einige Lektionen aus dem EFv1-Fiasko gelernt haben und jetzt viele der Goodies von L2S in EF kopieren und einfügen und so tun, als wäre es neues EF-Zeug. Mit anderen Worten, L2S Version zwei wurde gerade EF "neu etikettiert".
3) LINQ als solches (Language Integrated Query) ist das Beste seit geschnittenem Eis und kann mit vielen anderen Dingen als L2S verwendet werden (Linq zu Objekten, Linq zu Entitäten, Linq zu XML, Linq zu allem) ). Der Versuch der DP-Gruppe, [die große Masse] L2S-Anwender zu [dem weniger populären und derzeit fehlerhaften] Entity Framework zu zwingen, ist also kein Grund, Linq nicht zu lernen.
Siehe auch diesen Thread (der meiner Meinung nach teilweise Tims Blog-Beitrag ausgelöst hat): http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=4061922&SiteID=1
Update 1: Die Dezember-Ausgabe 2008 der Titelgeschichte des Visual Studio Magazine von Roger Jennings ist eine gute Lektüre zu diesem Thema, mit einigen Vergleichen zwischen L2S und EF: http://visualstudiomagazine.com/features/article.aspx?editorialsid=2583
Update 2: Anders Hejlsberg wurde in den Redmond Developer News mit den Worten zitiert : " LINQ to SQL ist nicht tot. Ich kann Ihnen versichern, es ist nicht tot. Nichts geht jemals weg. Wir haben das nie getan und werden es nie tun. "
http://reddevnews.com/blogs/weblog.aspx?blog=3016
quelle
Ihre Frage weist eine Mehrdeutigkeit auf, die gelöst werden muss.
LINQ! = LINQ zu SQL
Es gibt eine ganze Reihe von LINQ-Technologien und -Anbietern:
... und das sind nur die von Microsoft. Es gibt auch Nicht-MS-Anbieter, einschließlich NHibernate.
Der von Ihnen verlinkte Blog-Beitrag befasst sich nur mit Linq to SQL.
Der Hauptvorteil von LINQ besteht darin, dass Sie eine Abfragesyntax lernen, verwenden und für mehrere Technologien wiederverwenden können.
Vor diesem Hintergrund würde ich vorschlagen, dass ein vermeintlicher Mangel an Zukunft für "Linq To SQL" irrelevant ist, da die Fähigkeiten, die Sie beim Schreiben von LINQ-Abfragen erwerben, in Zukunft auf andere Tools übertragbar sind.
quelle
Wir beenden LINQ to SQL nicht. Wir optimieren für EF, aber LINQ to SQL wird definitiv nicht getötet :)
- Scott / Microsoft.
quelle
Sie sollten nicht nur Linq (System.Linq.Enumerable und System.Linq.Queryable) lernen, sondern auch die Programmiersprachenerweiterungen für Ihre .net-Sprache lernen.
In C # 3.0 sind dies:
Lesen Sie hier mehr .
In VB 9.0 gibt es einige Inline-XML-Magie und viele andere Dinge (viele ähneln der obigen Liste für C #).
Lesen Sie hier mehr .
quelle
Ich verstehe ehrlich gesagt nicht, wo in diesem Artikel Sie lesen, dass link2sql tot ist.
In dem Blog-Beitrag, den Sie verlinkt haben, heißt es:
Wir hören Kunden in Bezug auf LINQ to SQL zu und werden das Produkt basierend auf dem Feedback, das wir auch von der Community erhalten, weiterentwickeln.
Für mich liest sich so, als würde LINQ to SQL in Zukunft entwickelt und unterstützt. Ich frage mich, warum du denkst, dass es tot ist?
quelle
Zugegeben, ich denke, dass die Wahl zwischen LINQ zu SQL, LINQ zu Entities und LINQ zu [ORM von Drittanbietern einfügen] hier ein vollkommen gesundes Ökosystem von Methoden der Datenzugriffsschicht bietet, aus denen ein Softwareentwickler wählen kann. Drittanbieter wie NHibernate, LLBLGen und sogar Subsonic (nicht sicher, ob sie LINQ-Anbieter anbieten werden) werden die Konkurrenz definitiv besser und interessanter machen.
Trotzdem wird es für Microsoft total traurig sein, LINQ auf SQL zu verlassen, zumal es eine gute Anhängerschaft hat - sogar StackOverflow baut darauf auf.
quelle
Interessanter Blogbeitrag darüber. Und einige verwandte Informationen zu Stackoverflow-Posts .
Das Wesentliche scheinen Kommentare im ado.net-Blog zu sein , die besagen, dass das Entity Framework das einzige ist, was größere Entwicklerzeit für Visual Studio 2010 und Dot Net 4 erhält.
Meine Antwort ist - DUH. Das haben wir alle gewusst. Microsoft sagte auf der PDC 2007 öffentlich, dass LINQ to SQL eine kurzfristige Version für SQL Server sei, da es keine andere LINQ-Story für SQL Server gebe. Es funktioniert nur mit SQL Server. Sie können keinen LINQ an einen SQL-Anbieter schreiben - es gibt kein Modell dafür. Es war eine einmalige Technologie, nicht erweiterbar.
Das Entity Framework ist die EINZIGE Möglichkeit von Microsoft, einen LINQ-Anbieter zu erstellen. Das Entity Framework hat sich als ziemlich kontrovers erwiesen, aber ich denke, das liegt teilweise an der Tatsache, dass LINQ to SQL heute eine bessere Programmiererfahrung hat. Entity Framework wird LINQ to SQL abfangen und übertreffen, da es das ORM / Mapping-Tool der Zukunft von Microsoft ist.
BEARBEITEN - Ich habe dies in meinem Blog etwas ausführlicher beschrieben
EDIT2 - IQueryable Provider - ist NICHT dasselbe wie ein LINQ to SQL-Anbieter. Sie können Ihren eigenen IQueryable Provider für alles schreiben, was Sie möchten. Sie erhalten keine Designerunterstützung oder Modellgenerierung. Es gibt kein GUI-Designermodell, das mir bekannt ist, um LINQ mit der SQL-Modellgenerierung zu verknüpfen.
quelle
Ich glaube, ich sehe das Problem hier nicht wirklich. Aus dem Artikel, den Sie verlinkt haben:
Vermisse ich etwas Wie entsteht der Eindruck, dass LINQ to SQL bei der Ankunft tot ist?
quelle
Scott Guthrie sagte mir, dass sie LINQ to SQL nicht töten würden:
Post bei LINQDev.com
quelle
Kann sich jemand an VB6 erinnern? Unabhängig davon, ob Sie es persönlich verabscheuen oder lieben, Microsoft hat Millionen von Exemplaren verkauft, und Unternehmen haben Millionen von Dollar ausgegeben, um Millionen von VB6-Zeilen zu schreiben. Was als nächstes geschah?
Denken Sie also nur an diese Lektion. Mir scheint, dass die Unterstützung von LinqToSQL eher widerwillig sein wird. Sie sind verpflichtet, dies zu unterstützen, da es sich im aktuellen .NET-Framework befindet. Aber wird es in .NET 5, 6, 7 sein ...? Denken Sie nur daran, wie wichtig das für Sie ist (soweit ich weiß, ist es für Sie überhaupt nicht wichtig).
quelle
Vielleicht sollten Sie sich nicht die Mühe machen, Linq in SQL zu lernen, aber es gibt immer noch die Entities Linq, die sie behalten werden.
quelle
Siehe auch http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx und die dortigen Kommentare
quelle
Es ist offensichtlich, dass 2 ORMs eins zu viele in der Toolbox von Microsoft sind, aber für mich scheint es, dass das falsche Framework aus den falschen Gründen ausgewählt wurde. Die Tatsache, dass das C # -Team die Arbeit erledigt hat, die das ADO.NET-Team in viel kürzerer Zeit erledigen sollte, und die Arbeit viel besser gemacht hat, ist für das ado.net-Team schwer zu schlucken. Nicht dass ich die internen Abläufe der beiden Frameworks kenne, aber ich denke, es wäre viel schneller, die Mängel von linq2sql auf das Entity-Framework zu aktualisieren.
Es scheint zu viel Politik zu geben, und ich denke, dies wird den Ruf von asp.net wirklich schädigen, da ich nicht darauf vertraue, dass das Entity-Framework uns eine ebenso benutzerfreundliche Erfahrung bietet wie Linq2sql. Das ado.net-Team könnte auch einige Kommunikationsfähigkeiten vom asp.net mvc-Team lernen, da die Klärungen des Problems bestenfalls vage sind.
Es würde Spaß machen zu erfahren, was Scott Gu und sein MVC-Team hier stehen, da die meisten ihrer Beispiele Linq2Sql verwenden.
quelle
Es war immer etwas seltsam, dass es mit Linq 2 Sql und Entity Framework große Überlappungsbereiche gab. Ich denke, der einzige Grund, warum L2S es nur in die .NET 3.5-Version geschafft hat, war, dass es große Zweifel gab, dass EF jemals das Licht der Welt erblicken würde. Jetzt, da EF1 nicht mehr verfügbar ist, war L2S nicht mehr erforderlich.
quelle
(Nein, StingyJack, LINQ to SQL verwendet nicht das Entity Framework.)
Jedenfalls würde ich mir keine Sorgen machen. Tim gibt an, dass sie Kunden in Bezug auf LINQ to SQL zuhören. Nach der Begeisterung, die ich für L2S gesehen habe, werden die Kunden (das sind wir) ihre Meinung sagen.
Und wie KristoferA betont, können sie L2S nicht wirklich "töten", sondern nur einfrieren. Und L2S erfordert nach dem Polieren nicht wirklich viel Weiterentwicklung. Wenn der L2S-Anbieter eingerichtet ist, sollten alle Fortschritte in LINQ auch in L2S verfügbar sein. Die Wahl bleibt also weiterhin bei uns.
quelle
Die nächste Version von Windows Phone 7, Codename Mango, enthält eine SQL Server Compact Edition, auf die über Linq to SQL zugegriffen werden kann. Http://jesseliberty.com/2011/05/10/coming-in-mangosql-server-ce/
quelle