linq to sql vs nhibernate
Post on 01-Jul-2015
1.426 Views
Preview:
DESCRIPTION
TRANSCRIPT
NHibernate VS
Linq to Sql
Mario PavlovićMirta BaranovićZvonimir Vanjak
Baza podataka relacijska paradigma Aplikacija objektna paradigma
Izvor: www.deviantart.com - Craig Hilton
Objektno-relacijsko preslikavanje
Programerska tehnika pomoću koje se premošćuje nekompatibilnost tipova
unutar objektne i relacijske paradigme
(N)Hibernate
• Inicijalno razvijen za Javu– Razvijen 2001. godine od strane Gavina Kinga– Preuzet od strane JBoss grupe/Red Hat
• Prenamijenjen za .NET okruženje– Rezultat prenamjene je Nhibernate
• Podupire gotovo sve komercijalne baze podataka– Oracle, Sql Server, DB2, SQLite, PostgreSql, MySql,
Sybase, Firebird, …
• XML konfiguracijske datoteke• Dobra potpora zajednice• Free/Open source – licenciran pod LGPL licencom
(N)Hibernate
• App.config* – konfiguracijski XML
• XML mappings – definicija perzistencije
• mogu ga zamijeniti i hibernate.cfg ili web.config
(N)Hibernate – Arhitektura
Linq to Sql
• Prvi Microsoftov OR maper*
• Preslikava relacijski model baze u objektni model aplikacije
• Pruža run-tim infrastrukturu koja upravlja relacijskim podatcima i predstavlja ih kao objekte aplikacije
* Nastao 2003. godine pod vodstvom Matta Warrena
Linq to Sql – Arhitektura
Izvor: www.galcho.com
Usporedba
Linq to Sql - Prednosti
• LINQ to sql
– Jednostavni upiti lako razumljivi– Kompleksni upiti lako postaju ogromni i
zamorni (?prednost?)– Upiti se kompajliraju
Izvor: www.simonsegal.net
Linq to Sql - Prednosti
• Povoljna krivulja učenja– Generiranje kôda– Brži start– Brzi rezultati
Linq to Sql - Prednosti
• Povoljna krivulja učenja– Object Relation Designer– Drag’n’Drop– Procedure = Metode
NHibernate – prednosti
• Alat za velike dečke– Podržava sve
komercijalne bazepodataka
– Dokazana stabilnost:2005. godine Jolt Award
Izvor: i.zdnet.comblogsdavid-goliath
NHibernate – prednosti
• POCO razredi• Odvaja model domene od perzistencije
Računica:
NHibernate – prednosti
• Object Relation Designer– Prednosti smo vidjeli, a mane?
• Cijeli objektni model u jednoj datoteci• Razredi su prljavi– Koriste sebi svojstvene tipove
NHibernate – prednosti
HQL*– Inačica Sql jezika– Podržava:• Nasljeđivanje• Polimorfizam• Asocijacije
– Približava relacijski model objektnom
* Hibernate Query Language
Zaključak
• Linq to Sql – početak kraja Microsoftovog ignoriranja
OR mapiranja– Ugrađuje loše stavove (sve jednostavno,
sve lako)– Pogodan za male projekte
• NHibernate– Pouzdan, fleksibilan– Objektni upitni jezik– Pogodan za srednje i veće projekte
Pitanja
top related