Nhibernate proti Linq
LINQ
LINQ pomeni jezikovno integrirana poizvedba. V bistvu LINQ obravnava trenutni model razvoja baz podatkov v kontekstu objektno usmerjenega programskega modela. Vendar celovita podpora za LINQ potrebuje nekaj razširitev v uporabljenem jeziku, saj Linq ni popolno orodje za objektno relacijsko preslikavo (ORM). Takšne razširitve povečajo izhodno učinkovitost in učinkovitost ter tako zagotavljajo krajšo, bolj smiselno in bolj izrazno skladnjo za manipulacijo s podatki.
LINQ je programski model, ki uvaja poizvedbe kot prvovrstni koncept v kateri koli jezik Microsoft NET. Z drugimi besedami, velja za poizvedovalni jezik, ki se uporablja predvsem s MS SQL Server. Mnogi menijo, da je Linq precej uporaben v manjših aplikacijah, kjer potrebe po zbirki podatkov niso velike.
NHIBERNATE
NHibernate je odprtokodna objektno-relacijska preslikava ali ORM rešitev za Microsoftovo platformo .NET. Razvit je podobno kot Java-ova Hibernate knjižnica, ki zagotavlja storitve za prenašanje objektov okvirja .NET v osnovno bazo in iz nje.
Namenjen je predvsem razvijalcem, ki se osredotočajo na domeno, namesto na bazo podatkov. NHibernate je mogoče uporabiti pri skoraj katerem koli sistemu za upravljanje podatkov (DBMS).
Prikrajšani, brez intellisensea, ima NHibernate omejen jezik za poizvedbe. Kljub temu je glede na vrste definicij predmetov, ki jih je mogoče preslikati v strukture tabel, precej prilagodljiv. NHibernate predstavlja več možnosti, saj lahko v smislu dostopa do podatkov prilagodimo številne vidike. Je skoraj neomejen.
Povzetek:
1. Pri Linqu podatkovna baza že obstaja, odnosi in nekaj programiranja pa bodo odvisni od načina definiranja baze podatkov.
2. Za razliko od Linq-a je NHibernate odprta koda.
3. Nhibernate je orodje ORM, medtem ko je Linq nepopolno orodje ORM, saj potrebuje dodatne razširitve.
4. Linq je predvsem poizvedovalni jezik, medtem ko ima NHibernate omejen jezik za poizvedovanje.
5. Linq je veliko bolj uporaben v majhnih aplikacijah, kjer ni velike odvisnosti od baz podatkov.
6. NHibernate je zelo prilagodljiv in ponuja več možnosti.