linq to sql vs nhibernate

Post on 01-Jul-2015

1.426 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

DESCRIPTION

Pros and cons of using Linq to Sql and NHIbernate. Presentation is in croatian.

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