2009-05-13 13 views
1

Wir haben unsere eigene DAL für unsere Projekte in unserer Firma benutzt und für die 2 bestandenen Projekte hat uns das Probleme bereitet. Aus diesem Grund möchte ich SubSonic und/oder NHibernate studieren. Ist es besser, SubSonic zuerst oder NHibernate zu studieren? Was sind die Vorteile/Nachteile? Nach dem, was ich hier aus verwandten Fragen gelesen habe, ist NHibernate im Vergleich zu SubSonic komplexer, daher möchte ich mit letzterem beginnen.SubSonic vor NHibernate oder Vice Versa lernen?

Antwort

1

ich nicht viel über SubSonic weiß aber ich habe vor kurzem der Aufgabe von Werkzeugen mit NHibernate und diese book (wahrscheinlich die einzigen da draußen wirklich) gefunden sehr nützlich

6

SubSonic deutlich einfacher als NHibernate ist, Sie können fast sofort damit arbeiten (wenige Screencasts und Sie sind fertig). In NHibernate brauchst du etwas mehr Arbeit, um zu starten - XML-Konfiguration, Session-Handling und solche Sachen. Also, wenn Sie neu in ORM sind, lernen Sie zuerst SubSonic und dann vertiefen Sie sich in NHibernate. Persönlich denke ich für kleine Projekte kann man sogar glücklich mit SubSonic :)

+0

Dieser sehr hilfreiche Dank. – jfs

1

NHibernate ist definitiv komplexer, aber mit dieser Komplexität kommt größere Flexibilität. Subsonic ist großartig, aber Sie sollten sich auch bewusst sein, dass es sich um ein Open-Source-Projekt handelt. Obwohl es derzeit stabil ist, verfügt es nicht über die aktive Entwickler-Community, die NHibernate besitzt.

Eine andere Sache zu beachten ist, dass Unterschall ist eine Art von "Code-Generator", wo es tatsächlich eine Menge Zeug für Sie erzeugen wird. NHibernate ist ein ORM im Wortsinn, in dem Sie Objekte Ihrer Datenbank zuordnen. Sie können Codegeneratoren verwenden, um die Zuordnungen für Sie zu generieren, aber es ist eine grundlegend andere Art, über ORMs nachzudenken.

Persönlich, wenn Sie subsonic betrachten und finden, dass es alles hat, was Sie brauchen, dann würde ich mir das oder vielleicht sogar linq to sql ansehen, aber wenn Sie feststellen, dass Sie in komplexere Objektprobleme geraten, dann vielleicht NHibernate ist es wert, gelernt zu werden.

+0

Ich glaube, ich stütze mich jetzt auf NHibernate. – jfs

+1

"Subsonic ist großartig, aber Sie sollten auch wissen, dass es sehr viel ein Open-Source-Projekt ist" NHibernate ist auch Open Source: Free/Open Source - NHibernate ist unter der LGPL (Lesser GNU Public License) lizenziert Quelle: https : //www.hibernate.org/343.html –

1

Die Antwort hängt von vielen verschiedenen Faktoren ab. Wenn du nHibernate lernst, öffnest du dir viele Türen von Lernkurven, aber sie zahlen sich alle aus. Sub Sonic kann Sie auf den neuesten Stand bringen, basiert aber auf Code-Generierung, was bedeutet, dass Sie Grenzen haben. Mit nHibernate definieren Sie Ihr eigenes Mapping. Mit Fluent Interface nHibernate Mapping ist es viel einfacher, einfacher und schneller die Objekte zuzuordnen. Es gibt eine sehr aktive Benutzergruppe link text

Plus Sie haben volle Flexibilität der Zuordnung. nHibernate könnte etwas schwierig sein, aber es lohnt sich, es zu lernen. Ich selbst habe 2 professionelle Projekte für meine Kunden mit nHibernate geschrieben.

2

SubSonic ist ein Active Record ORM. Wenn es das ist, was Sie suchen, sollten Sie es mit anderen aktiven ORMs wie Castle vergleichen. Castle baut auf nHibernate auf, sodass Ihr Team bei Bedarf auf die vollständigen Features erweitern kann. An dieser Stelle vergleichen Sie Äpfel mit Äpfeln und es spielt keine Rolle, mit welchem ​​Sie beginnen.

Wenn Sie nicht nach einem Active Record Style ORM suchen, beginnen Sie mit Fluid nHivernate, um die Lernkurve etwas zu senken.

+0

Danke für die Klarstellung. – jfs

+1

Beachten Sie, dass Subsonic jetzt auch ein Simple Repository-Modell unterstützt. –

Verwandte Themen