am besten ist es, ein ORM wie Nhibertate oder Entity Framework zu verwenden oder ein Kunden-ORM durchzuführen. Ich werde dieses ORM für ein C # 4.0-Projekt verwenden
Wenn Sie etwas Geld ausgeben können, schauen Sie sich auf jeden Fall LLBLGEn Pro 3. an
Wenn Ihr Budget knapp ist, versuchen Sie es mit NHibernate
. Es ist auch ein ausgereiftes Produkt, aber es hat eine größere Lernkurve. Und wenn Sie Unterstützung brauchen, können Sie jederzeit Ayende anrufen :-)
Für kleinere Projekte ist EF 4.0 eine gute Wahl.
Ein ORM allgemein als das Beste unter allen zu bezeichnen, ist völlig unmöglich. Jeder von ihnen ist aus verschiedenen Perspektiven am besten. Sie haben diejenige ausgewählt, die Ihren Anforderungen am besten entspricht. Linq2Sql wurde mit Blick auf die Leistung geschrieben, aber es fehlt die Unterstützung für andere Anbieter, Linq2Sql ist sehr schnell. Es gibt jedoch auch andere, die möglicherweise nicht so schnell wie Linq2Sql sind, wenn es um den Umgang mit SQL Server geht, aber sie unterstützen eine Vielzahl von Anbietern. Die beste Idee wäre, die Funktionen aufzulisten, die ein ORM für Ihr Projekt haben soll, und die auszuwählen, die alle Ihre Anforderungen erfüllt. "Mit diesen Fragen können Sie das richtige ORM für Ihr Projekt auswählen.
Die meisten ORMs haben ihre eigenen Stärken und Schwächen.
Das Entity Framework hat zum Beispiel den (großen?) Vorteil, im Framework selbst zu sein, ist aber auch ziemlich schwer und etwas schwieriger in Betrieb zu nehmen (steilere Lernkurve).
Es gibt einige sehr nette, sehr einfach zu verwendende kommerzielle ORMs. Ich verwende derzeit Lightspeed in einem C # 4-Projekt und bin für dieses spezielle Szenario äußerst zufrieden damit.
Es kommt wirklich darauf an, was Sie vom ORM benötigen. Wenn Sie sehr schnell und einfach einrichten und verwenden möchten, sind Lightspeed, Subsonic und andere sehr nützlich. Wenn Sie einen vollständigen Funktionsumfang benötigen, sind Entity Framework und NHibernate gute Optionen.
Ich verwende Linq-to-SQL als Haupt-ORM beim Erstellen von C # -Anwendungen. Ich werde irgendwann zu Entity Framework übergehen, aber dieses ist vorerst sehr einfach und schnell zu bedienen.
Ich würde @this zustimmen. __curious_geek, dass die Auswahl des richtigen ORM von Ihren Anforderungen abhängt.Nach der Arbeit mit Hibernate und Entity Framework ist letzteres meiner Meinung nach benutzerfreundlicher, da es sich um einen GUI-basierten Editor handelt. Im Hinblick auf die Funktionsvielfalt hat NHibernate den Vorteil, viele Datenbankanbieter zu unterstützen. Auch das Anpassen von NHibernate erwies sich als viel einfacher als das Anpassen des Entity Frameworks.
Unter der Annahme, dass die meisten Tools Ihre Kernanforderungen erfüllen, würde ich NHibernate vorziehen, da eine lebendige und einnehmende Benutzergemeinschaft ein großes Plus für jedes Tool darstellt.