Das ADO.NET Entity Framework und NHibernate dienen dem Microsoft NET -Plattform, eine Programmier-Plattform für die Erstellung von Windows-Anwendungen. . Beide fungieren als objekt-relationales Mapping Frameworks , helfend schaffen virtuelle Objekt -Datenbanken , um Daten zwischen inkompatiblen Systemen des Typs übersetzen . Obwohl beide Optionen , um eine ORM implementieren können , unterscheiden sie sich in Funktionen und Umsetzung. Ihre Wahl der Rahmen letztlich auf die Leistung der endgültigen Anwendung , so tun Sie Ihre Forschung und bevor sie eine Wahl zu informieren. Merkmale
ADO.NET Entity Data Model die Vorlage generiert Quellcode für Entität Lagerung und Beziehungen erforderlich. NHibernate Benutzer müssen diese Aktion manuell durchführen. Ebenso Entity erstellt automatisch Klassen durch das Datenmodell definiert, während NHibernate fehlt diese Funktion. Während Entity erreicht die Datenbank für jede Aussage während des Schreibens Dosierung erlauben NHibernate -Konfiguration Features, die es zu Charge alle Schreibvorgänge in einer einzigen Reise . NHibernate unterstützt eine Vielzahl von Erweiterungen - wie NHibernate Suchen und NHibernate Scherben - aber Entity nicht unterstützt Erweiterungen
Leistung
Im Jahr 2009 , im Gegensatz zu Silverlight Softwareentwickler Gergely Orosz . Entity und NHibernate über eine detaillierte Performance-Test mit den beiden Frameworks auf zwei einfache Anwendungen mit dem gleichen Tisch , Operationen und Daten zu implementieren. Orosz dann gemessen die Anzahl der Operationen durchgeführt werden, um Aufgaben wie möglich ausführen , aktualisieren und löschen . Das Entity entwickelten Anwendung sauber die NHibernate app in den Bereichen Speicherung von Daten und das Lesen über Beziehungen deklassiert . NHibernate app besiegte seinen Konkurrenten in Aktualisieren und Löschen . Orosz fand die Rahmenbedingungen nahezu gleich im Bereich des Lesens von ID .
Entwickler , Geschichte und Verfügbarkeit
Entity kommt direkt von Microsoft , die Entwickler des . NET -Plattform. NHibernate ist ein Drittanbieter- Rahmen . Beide sind kostenlos herunterzuladen und zu verwenden , sondern nur NHibernate arbeitet unter der GNU Lesser General Public License , was bedeutet, dass die Benutzer zu ändern und bearbeiten Open- Source-Tool mit seiner frei verfügbaren Quellcode. Entity Spuren seiner Geschichte zurück bis 2008 , während NHibernate hatte ein bisschen mehr Zeit, um sich unter den Entwicklern zu entwickeln , mit einem ersten Release im Jahr 2007. Seine Vorfahren , Hibernate, schlug in der Szene im Jahr 2000.
Überlegungen
Entity hat die Version 4.3 erreicht , während NHibernate ist in der Version 3.2.0 , die beide als Februar 2012 . Wie die Entwickler auf neue Versionen veröffentlichen fortsetzen, werden die Merkmale , Funktion und Umsetzung der einzelnen Rahmen im Laufe der Zeit ändern. Letztlich ist weder Rahmen objektiv "besser" als die anderen , es ist bis zu jeder Entwickler seinen Bedürfnissen und Vorlieben berücksichtigen und - basierend auf der Kenntnis der beiden Frameworks - um seine eigene Entscheidung