Welches ORM wird ausgeführt: telerik Open Access VS Subsonic VS-Verknüpfung zu sql VS Active Record

8

Wir suchen nach einem ORM und ich wollte einige Meinungen / Vergleiche

Die grundlegenden Kriterien, die wir für ein ORM haben, sind: Einfach zu verwenden / zu konfigurieren (kurze Lernkurve), flexibel, die Fähigkeit es wegzuspalten, leicht zu pflegen

Hier ist eine Liste von welchen ORM wir sehen und was unsere ersten Eindrücke sind

  1. Open Access - scheint für einfache Dinge wirklich einfach zu sein, aber scheint nicht viel Flexibilität zu haben, Kosten sind kein Problem, das wir bereits besitzen
  2. Ling to SQL - sieht sehr einfach zu verwenden und zu konfigurieren aus, aber einige Funktionen fehlen
  3. Aktive Aufzeichnung - NHibernate made simple
  4. SubSonic - sieht sehr funktionsreich aus, hat aber nicht wirklich viel damit gespielt

Hier sind die ORMs, die wir angeschaut und ausgeschlossen haben

  1. Die Entität befindet sich noch in der Betaversion
  2. NHibernate hat viel zu viel Lernkurve (wir haben nicht 3 Wochen, um es zu erlernen)
Bob The Janitor 19.02.2009, 17:35
quelle

7 Antworten

4

Wir verwenden derzeit SubSonic (2.0.3) und es war ein absoluter Lebensretter. Ich kann nicht genug betonen, wie großartig es ist. JETZT versuchen wir jedoch, aus verschiedenen Gründen davon abzuweichen (wahrscheinlich zu NHibernate oder Entity). Hier sind meine Vor- und Nachteile:

Pros:

  • Sehr einfach einzurichten und zu verwenden.
  • Viele tolle & Amp; nützlich, Werkzeuge und Funktionen
  • Verwendet die "Konvention über Konfiguration" Philosophie, also sehr wenig Konfiguration. Es "funktioniert einfach". (Solange du die Dinge so machst, wie sie wollen ... :))

Nachteile:

  • Ihr Datenbankdesign ist eng mit Ihrem Domänenentwurf verknüpft. Nehmen Sie eine Änderung in Ihrer Datenbank vor, und Sie müssen Ihr Code / Domain-Design ändern.
  • Standardmäßig verwendet SubSonic das ActiveRecord-Muster für den gesamten Datenzugriff anstelle des Repository-Musters, wodurch es schwieriger wird, es "wegzuspalten". (Obwohl ich glaube, dass Sie mit v3.0 die Standard-ActiveRecord-Vorlagen austauschen können, um das Repository-Muster zu verwenden).
  • Viele pessimistische Gerüchte über die Zukunft von SubSonic. Aber Gerüchte sind nur das: Gerüchte.
Alex Czarto 19.02.2009, 18:06
quelle
6

Ich würde sagen, dass Sie sich DataObjects.NET ( Ссылка ) ansehen sollten. Es ist funktionsreich und einfach zu bedienen. Es bindet Sie jedoch absolut an Ihr Objektmodell, da es entscheidet, wie die Datenbankstruktur auf Grundlage Ihres Objektmodells aussehen soll. Wenn Sie jedoch die Existenz der Datenbank ignorieren wollen, ist das ganz nett. Wir haben es seit Jahren verwendet und hatten großen Erfolg.

    
Michael 04.05.2009 16:45
quelle
3

Für alle gepaarten Pennies kann es sich lohnen:

Wenn Sie nicht 3 Wochen Zeit haben, Ihr ORM Ihrer Wahl zu erlernen (je nachdem, was Sie wählen), müssen Sie nach 3 Wochen suchen, um es später zu lernen, wenn es etwas nicht genau abbildet wie du dachtest, dass es so wäre.

Wenn Sie ein Modell haben, das relativ kompliziert ist, ist ORM nicht trivial. Sie werden feststellen, wie Ihr ORM funktioniert, damit Sie ihm sagen können, wie Sie die Dinge so gestalten, wie Sie es möchten.

Was ist eine andere Art zu sagen: "Kenne deine Werkzeuge", natürlich. :)

    
BryCoBat 19.02.2009 17:41
quelle
1

Die meisten Leute werden ein paar Erfahrungen mit ein oder zwei von denen haben, aber nur wenige werden allen ausgesetzt sein. Ich empfehle einen Proof-of-Concept mit jedem deiner Favoriten. Holen Sie sich jedes Setup, geben Sie nicht mehr als n Stunden pro ORM-Tool aus ( n = wie lange Sie auch entscheiden, ist vernünftig.) Sie don Wenn Sie Ihr gesamtes Objektmodell implementieren müssen, reicht eine funktionale Teilmenge.

Wenn Sie fertig sind, haben Sie das Setup und die Verwendung von allen bereits durchgearbeitet. Sie können dann eine Autopsie schreiben und das Team kann entscheiden, welches das beste Schmerz-zu-Merkmal-Verhältnis hat.

    
Dave Swersky 19.02.2009 17:46
quelle
1

Verwenden Sie T4-Vorlagen, um Ihre eigenen zu erstellen. Speziell für T4-Templates stehen im Internet einige etablierte Muster zur Verfügung. Mit der Kenntnis von T4 können Sie auch Objekte scripten, die einen größeren Umfang als Makros haben, aber einen kleineren Umfang haben als eine benutzerdefinierte App zu schreiben, um das benötigte Skript zu generieren. Hoffe das hilft!

    
webbexpert 06.07.2010 06:07
quelle
0

Ich stimme sehr mit BryCoBat überein (upvoted). Ich wollte auch hinzufügen, dass, wenn Sie bereits Open Access besitzen, das Unternehmen sehr wahrscheinlich Leute irgendwo intern hat, die sich bereits damit sehr wohl fühlen, einschließlich Codebeispiele, die Sie in Ihrer eigenen Domäne für sowohl triviale als auch nicht-triviale Aufgaben betrachten. Mit anderen Worten: Verwenden Sie, was Sie wissen.

    
Joel Coehoorn 19.02.2009 17:52
quelle
0

Wenn Sie keine Telerik-Steuerelemente verwenden, sollte LINQ to SQL zum schnellen Lernen ausgewählt werden - es gibt eine große Menge verschiedener Tutorials, Videos und Bücher im Web.

    
andrey.shedko 30.08.2013 09:15
quelle

Tags und Links