Frage

Wir sind bereit, ein neues Projekt bei der Arbeit zu beginnen, keinen Legacy-Code. Wir haben in der Vergangenheit Subsonic verwenden und wir ziemlich glücklich mit ihm. Aber das war vor Linq.

Hat jemand das gleiche Problem konfrontiert hatte (Linq x Subsonic)?

Was war Ihre Entscheidung? Was waren die Gründe dafür?

Einsicht geschätzt.

War es hilfreich?

Lösung

SubSonic

Vorteile:

  • Schön und einfach
  • Gerüste

Nachteile:

  • Methode Signaturen oft String parms akzeptieren (obwohl Sie DAO String-Konstanten zu verwenden ermutigt sind), die missbraucht werden können.

Beachten Sie:

  • Benötigt Website-Projekt für No-Code, hands-off-Modellgenerierung (benötigt die Buildprovider).

Linq To SQL

Vorteile:

  • syntaktischer Zucker in der IDE
  • MS unterstützt
  • Sehen Sie sich die SQL in der IDE ausgeführt werden
  • Ermöglicht verschiedene Ebene im Modell der Hantieren von Auto-Generation zu expliziten Begriffsbestimmungen Eigenschaften zu widersprechen.

Nachteile:

  • Complex. Sie müssen neue Konzepte wie die Datacontext lernen, um wirksam zu sein.

Beachten Sie:

bewerten auch das ADO.NET Entity Framework und hier .

Andere Tipps

Das einzige, was ich über LINQ lieben, was ich nicht glaube, SubSonic wie anmutig Griffe, beschäftigt sich automatisch mit beitritt.

FROM a in db.Orders
where a.Total > 100
SELECT new {a.Item.Desc, a.Customer.Name};

wird automatisch generieren SQL wie thisL

select i.DESC, c.NAME 
from  ORDERS o  
inner join ITEMS on o.ItemID = i.ItemID 
inner join CUSTOMERS c on o.CustomerID = c.CUSTOMERID 
where o.TOTAL > 100

Was ist NHibernate? Ist es wirklich aus dem Bild für neue Projekte? Dennoch, aus Java Menschen wird es vertraut und Sie können es auch mit .NET 2.0 und Mono verwenden.

ich mit Linq ging, weil es in den Rahmen integriert ist. Für diejenigen sagen, es wird nicht von Microsoft unterstützt werden ... es ist LinqToSql, die werden soll auslaufen. Ich glaube, einer der Pläne ist es in das Entity Framework absorbe.

Ich bin jetzt mit dem Entity Framework. Es nutzt auch Linq und es ist im Grunde genau wie LinqToSql mit mehr Flexibilität und Leistung, wenn Sie sich entscheiden, es zu benutzen.

Ich neige dazu, 3rd-Party-Frameworks und orms zu vermeiden, weil schließlich auch sie aussterben. Ich glaube, dass sie eher eine Chance haben, um zu sterben, weil ihr Leben herkommt, wie viele Menschen daran interessiert sind und nutzen. Ihr Leben ist auch stark abhängig von seinem Haupt-Autor / Beiträger.

Meine Erfahrung mit SubSonic primärer gewesen. Es ist sehr einfach zu implementieren und Sie werden Ihre DAL in weniger als einer halben Stunde abgeschlossen haben. Denken Sie daran, dass dies ein Schweizer Taschenmesser, wie es für Gebrauchs ausgelegt ist. Grundsätzlich Sie eine Klasse erhalten pro Tabelle generiert, sowie die Fähigkeit, verzögertes Laden für Sammlungen peform. Sie können auch gespeicherte Prozeduren über den Rahmen, führen Sie also, wenn Sie komplexe Datenstrukturen haben, können Sie sie aus der Datenbank holen und eine Klasse aktualisieren, die Sie Handwerk übergeben.

ich es auf 5 große Projekte jetzt verwendet haben, und bin beeindruckt, wie schnell ich wurde abhängig.

Ich war in der gleichen Situation. LinQ ist mehr „Visuell“, Sie alles in VStudio tun, und auch Rob gesteht Unterschall ein paar Dinge haben es zu entsprechen.

IEnumerable, LinqDataSource (mit Auto-Paging) und der visuellen Modellierung hat mich davon überzeugt, Linq über Subsonic zu wählen.

Das größte Risiko mit LINQ to SQL ist, dass Microsoft es satt wachsen wird und sie im Stich lassen. Es gibt eine Menge von Spekulationen, dass dies bereits geschehen ist, und dass nur die Entity Framework aktualisiert. Subsonic leidet nicht unter diesem und schlimmsten Fall, dass Sie den Quellcode haben, um die Änderungen zu machen.

Sie möchten vielleicht schauen, was passiert, wenn MS stoppt Entwicklung von LINQ L SQ, wie es scheint der Fall zu sein. Subsonics neueste Version ist einfache Abfragen zu erstellen und besser lesbar, dann ihre Vorgängerversion.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top