Entity Framework vs. NHibernate

Entity Framework vs. NHibernate


ADO.NET Entity Framework og NHibernate tjene Microsoft .NET plattform, et programmerings plattform for å lage Windows-programmer. Begge fungerer som objekt-relasjonelle kartlegging rammeverk, bidrar opprette virtuelle objektdatabase for å oversette data mellom inkompatible type systemer. Selv om begge alternativene kan du gjennomføre en ORM, skiller de i funksjoner og gjennomføring. Ditt valg av rammeverket til slutt påvirker ytelsen til den endelige søknaden, så gjør din forskning og bli informert før du gjør en hakke.

Egenskaper

ADO.NET Entity Data Modell mal genererer kildekoden kreves for enhet lagring og relasjoner. NHibernate brukere må utføre denne handlingen manuelt. Likeledes skaper Entity automatisk klasser definert av datamodellen mens NHibernate mangler denne funksjonen. Mens Entity når databasen per hvert utsagn under skrivedoserings, NHibernate konfigurasjonsfunksjoner tillate det å batch alle skriver i en enkelt tur. NHibernate støtter en rekke utvidelser - som NHibernate Søk og NHibernate Shards - men Entity støtter ikke utvidelser.

Opptreden

I 2009, Silverlight programvareutvikler Gergely Orosz kontras Entity og NHibernate via en detaljert ytelsestest, ved hjelp av de to rammeverk for å implementere to enkle applikasjoner med samme bord struktur, drift og data. Orosz deretter målt antall operasjoner utført for å utføre oppgaver som å lagre, oppdatere og slette. The Entity-utviklet applikasjon rent utklasset den NHibernate app innen lagring av data og lese over relasjoner. NHibernate app ble best konkurrenten i oppdatering og sletting. Orosz funnet rammene nesten lik i området for å lese av ID.

Utviklere, historie og tilgjengelighet

Entity kommer direkte fra Microsoft, utviklerne av .NET-plattformen. NHibernate er en tredjeparts rammeverk. Begge er gratis å laste ned og bruke, men bare NHibernate opererer under GNU Lesser General Public License, noe som betyr at brukere kan endre og redigere denne open-source verktøy ved hjelp av fritt tilgjengelig kildekode. Entity sporer sin historie tilbake til 2008, mens NHibernate har hatt litt mer tid til å utvikle seg blant utviklere, med en første utgivelse i 2007. stamfar, Hibernate, traff scenen i 2000.

betraktninger

Entity har nådd versjon 4.3 mens NHibernate er på versjon 3.2.0, både fra februar 2012. Som utviklerne fortsette å gi ut nye versjoner, funksjoner, funksjon og gjennomføring av hvert rammeverk vil endre seg over tid. Til syvende og sist, er verken rammeverket objektivt "bedre" enn den andre; det er opp til hver enkelt utvikler å vurdere sine behov og preferanser og - basert på kunnskap om både rammer - gjøre sin egen beslutning.