2009-05-01 11 views
3

Ich möchte ein ORM-Tool (Object Relational Mapper) für meine ASP.NET-Anwendung verwenden. Ich habe drei Optionen: NHibernate, LINQ to SQL und Subsonic. Welcher ist der Schnellste?Welcher .NET-Relationale Mapper ist am schnellsten?

+3

Was sind die Anforderungen Ihrer Anwendung? Möchten Sie, dass die schnellste Lösung entwickelt wird oder am schnellsten läuft, wenn Sie fertig sind? – Nick

+0

Ich möchte schnellste ORM in der Leistung nicht in der Entwicklung –

Antwort

8

Siehe ORMBattle.NET, aber beachten Sie die Beschreibung der Leistungstests.

Etwas Zeit für das Studium FAQ dort ist sehr zu empfehlen.

Kurze Antwort: unter diesen 3 LINQ to SQL ist definitiv Führer bei liest, und NHibernate - bei schreibt. IMHO Subsonic ist nicht die beste Wahl von jedem Punkt (schlechte LINQ, schlechte Leistung).

1

Es gibt keine Möglichkeit, diese Frage wirklich ohne spezifische Anwendungsfälle zu beantworten. nHibernate verfügt über viele Funktionen, mit denen Sie die Leistung optimieren können (Abrufen von Strategien, Lazy Loading, zukünftige Abfragen usw.).

+2

Teilweise zustimmen. Es ist jedoch möglich, die Leistung einer gemeinsamen Teilmenge von Features zu vergleichen. LINQ 2 SQL unterstützt einige nützliche Optimierungen nicht - z. Es gibt keine zukünftigen Abfragen und keine Batch-Updates. Aber im Allgemeinen ist es sehr schnell - teilweise, weil es schlank ist. –

0

Sie sollten jeden einzelnen untersuchen/ausprobieren und das Werkzeug auswählen, das Ihren Anforderungen am besten entspricht (z. B. Feature-Set, Benutzerfreundlichkeit usw.).

Leider ist dies die beste Antwort, die Sie erhalten können, ohne ein konkretes Beispiel dafür zu geben, was Sie erreichen möchten.

2

Jedes Mal, wenn Sie eine Schicht hinzufügen verlieren Sie Leistung, aber mit ORM gewinnen Sie Zeit auf den Markt, die in vielen Fällen wichtiger ist als alles, ich persönlich wie LINQ to SQL oder CodeSmith LINQ to SQL hat viele Anpassungen für Leistung und erlaubt auch die Verwendung von o SP, ist das eine Schlüsselelement meiner Entscheidung die Integration mit VS, wenn es nicht integriert, ich bevorzuge es nicht zu verwenden. Eine sehr wichtige Sache zu beachten ist, ist die Leistung ein großer Mithit zwischen den Entwicklern, solange die Benutzer zufrieden sind, das ist kein Problem.

-2

Ich habe NHibernate für ein wenig verwendet und ich denke, ist ein bisschen kompliziert. Wenn Sie in Java nichts entwickeln, versuche ich dieses ORM nicht zu benutzen.

+1

Ich denke, die Frage ist auf .NET ausgerichtet. NHibernate ist die .Net-Version von Hibernate. –

+1

Was ist die Beziehung zwischen ORMs und Java !? – Rookian

0

Aus den Vergleichen und unter Berücksichtigung von Dokumentation und Support - es scheint, LinqConnect ist der Gesamtsieger. Dies ist jedoch eine kommerzielle Produktion, die je nach Standpunkt gut oder schlecht sein kann.

Verwandte Themen