Nhibernate vs Linq
LINQ
LINQ je zkratka pro Language-Integrated Query. LINQ v podstatě řeší aktuální model vývoje databáze v kontextu objektově orientovaného programovacího modelu. Komplexní podpora LINQ však vyžaduje některá rozšíření v používaném jazyce, protože Linq není kompletní nástroj ORM (Object Relational Mapping). Taková rozšíření zvyšují výkon a efektivitu, čímž poskytují kratší, smysluplnější a výraznější syntaxi pro manipulaci s daty.
LINQ je programovací model, který zavádí dotazy jako prvotřídní koncept do jakéhokoli jazyka Microsoft NET. Jinými slovy, je považován za dotazovací jazyk používaný především v MS SQL Serveru. Mnozí považují Linq spíše za užitečný v menších aplikacích, kde není potřeba databáze.
NHIBERNATE
NHibernate je open source objektově relační mapování nebo řešení ORM pro platformu Microsoft .NET. Je vyvíjen podobně jako knihovna Hibernate v Javě, která poskytuje služby pro přenášení objektů frameworku .NET do az podkladové databáze..
Je primárně zaměřena na vývojáře se zaměřením na doménu místo na databázi. NHibernate lze aplikovat téměř na jakýkoli DataBase Management System (DBMS).
Nevýhodou, bez inteligence, má NHibernate omezený dotazovací jazyk. Přesto je poměrně flexibilní, pokud jde o druhy definic objektů, které lze mapovat do struktur tabulek. NHibernate představuje více možností, protože je možné vylepšit mnoho aspektů, pokud jde o přístup k datům. Je téměř neomezený.
Souhrn:
1. U Linq již databáze existuje a vztahy a některé programování budou záviset na tom, jak je databáze definována.
2. Na rozdíl od Linq je NHibernate otevřeným zdrojem.
3. Nhibernate je nástroj ORM, zatímco Linq je nekompletní nástroj ORM, protože potřebuje další rozšíření.
4. Linq je primárně dotazovacím jazykem, zatímco NHibernate má omezený dotazovací jazyk.
5. Linq je mnohem užitečnější v malých aplikacích, kde neexistuje velká závislost na databázích.
6. NHibernate je velmi flexibilní a nabízí více možností.