The ADO.NET Entity Framework och NHibernate tjäna Microsoft NET-plattformen , en programmering plattform för att skapa Windows-program . . Båda fungerar som objekt - relationell mappning ramar , hjälpa till att skapa virtuella föremål databaser för att översätta data mellan oförenliga typsystem . Även om båda alternativen kan du genomföra en ORM , skiljer de sig i funktioner och genomförande . Ditt val av ram slutändan påverkar resultatet för den slutliga ansökan , så gör din forskning och få information innan du gör ett val . Funktioner
ADO.NET Entity datamodell mall genererar källkod krävs för enhet lagring och relationer . NHibernate användare måste utföra denna åtgärd manuellt . Likaså skapar Entity automatiskt klasser av datamodellen medan NHibernate saknar denna funktion . Medan Entity når databasen per varje påstående under skrivning dosering , NHibernate konfigurations funktioner gör det möjligt att batch alla skriver i en enda resa . NHibernate stöder en mängd olika tillägg - t.ex. NHibernate Sök och NHibernate Shards - men Entity stöder inte tillägg
Prestanda
Under 2009 Silverlight programutvecklare Gergely Orosz kontrast . Entity och NHibernate via en detaljerad funktionstest , med hjälp av de två ramverken för att genomföra två enkla applikationer med samma bord struktur, funktioner och data . Orosz mätte därefter hur många operationer som utförs för att utföra uppgifter som att lagra, uppdatera och ta bort . Entity - utvecklade program utklassade rent den NHibernate appen inom områdena lagring av data och läser över relationer . NHibernate s app hemländers sin konkurrent i uppdatering och radering . Orosz hittade ramarna nästan lika när det gäller läsning av ID .
Utvecklare , Historia och tillgänglighet
Entity kommer direkt från Microsoft , utvecklarna av . NET-plattformen . NHibernate är en tredje part ramar . Båda är gratis att ladda ner och använda , men bara NHibernate verkar under GNU Lesser General Public License , vilket innebär att användare kan ändra och redigera detta open - source verktyg använder sin fritt tillgängliga källkoden . Entity spårar sin historia tillbaka till 2008 , medan NHibernate har haft lite mer tid att utveckla sig bland utvecklare , med en första release under 2007 . Dess förfader , Hibernate , drabbat scenen i 2000.
Överväganden
Entity har nått version 4.3 medan NHibernate är i version 3.2.0 , såväl som i februari 2012 . Eftersom utvecklarna fortsätter att släppa nya versioner kommer funktioner , funktion och genomförandet av varje ram förändras över tiden . Ytterst är varken ramverk objektivt " bättre " än den andra , det är upp till varje utvecklare att överväga sina behov och önskemål och - baserat på kunskap om båda ramar - göra sitt eget beslut