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
Hier sind die ORMs, die wir angeschaut und ausgeschlossen haben
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:
Nachteile:
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.
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. :)
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.
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!
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.
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.
Tags und Links .net c# orm data-access-layer