Den ADO.NET Entity Framework og NHibernate tjene Microsoft NET platformen , et programmeringssprog platform for at skabe Windows-programmer. . Begge fungerer som objekt - relationelle kortlægning rammer , hjælper skabe virtuelle objekt databaser til at oversætte data mellem inkompatible typesystemer . Selv om begge muligheder giver dig mulighed for at gennemføre en ORM , de adskiller sig i funktioner og implementering. Dit valg af rammer i sidste ende påvirker udførelsen af den endelige ansøgning , så gør din forskning og bliv informeret før en pick. Features
ADO.NET Entity data Model skabelon genererer kildekode kræves for enhed opbevaring og relationer. NHibernate brugere skal udføre denne handling manuelt. Ligeledes Entity opretter automatisk klasser defineret af datamodel mens NHibernate mangler denne funktion. Mens Entity når databasen per hvert udsagn under write batching , NHibernate s konfiguration funktioner gør det muligt at batch hele skriver i en enkelt tur . NHibernate understøtter en række udvidelser - som NHibernate Search and NHibernate Shards - men Entity understøtter ikke extensions
resultater
I 2009 Silverlight softwareudvikler Gergely Orosz kontrast . Entity og NHibernate via en detaljeret performance test , ved hjælp af de to rammer til at gennemføre to enkle applikationer med den samme tabel struktur , drift og data. Orosz derefter målt på antallet af operationer, som udføres for at udføre opgaver såsom butik, opdatere og slette. Enhedernes udviklede applikation rent forældet den NHibernate app på områderne lagring af data og læser over relationer. NHibernate s app bested sin konkurrent i at opdatere og slette . Orosz fandt rammer næsten ens på området for læsning ved ID .
Udviklere , Historie og tilgængelighed
Entity kommer direkte fra Microsoft, udviklerne af . NET platformen . NHibernate er en tredjepart rammer. Begge er gratis at downloade og bruge , men kun NHibernate opererer under GNU Lesser General Public License , hvilket betyder , at brugerne kan ændre og redigere denne open - source værktøj ved hjælp af sin frit tilgængelig kildekode. Entity spor sin historie tilbage til 2008, mens NHibernate har haft lidt mere tid til at udvikle sig blandt udviklere , med en første udgivelse i 2007. Sin forfader , Hibernate , ramte scenen i 2000.
Overvejelser
Entity har nået version 4.3 , mens NHibernate er versionen 3.2.0 , både i februar 2012. Da udviklerne fortsætter med at frigive nye versioner , vil funktionerne , funktion og gennemførelsen af de enkelte rammer ændre sig over tid . I sidste ende er hverken rammer objektivt "bedre" end den anden , det er op til hver udvikler til at overveje sine behov og præferencer , og - baseret på viden om begge rammer - gøre sin egen beslutning
< br . >