30. 06. 2008. | #1 |
profesionalac
Professional
|
[C#] Modeli/Pristup bazi
Poceo sam malo da se igram sa C# i ASP.net MVC framework-om, pa me interesuje sta da koristim za modele, tj. pristup bazi. Koji je vas pristup?
Poceo sam prvo da se interesujem za LINQ (To SQL), ali Lazy Loading koji on obavlja dovodi to toga da se za najprostije stvari na bazu salje veliki broj upita, sto mi se jako ne dopada. Postoji mogucnost da se Lazy Loading iskljuci, kombinacije preko DataLoadOptions, ali u tom slucaju dobijaju se duplirani redovi iz baze, a i dalje postoji mogucnost da se baza obaspe upitima.... Na netu ima bas dosta clanaka o ovome, i prosto ne bih toliko zrtvovao performanse zbog malo sintaksickog secera. Na kratko sam pogledao i Entity Framework, vidim opet se koristi LINQ (To Entities), ali verujem da svi problemi gore navedeni mogu da se primene i na ovaj slucaj, ispravite me ako gresim... Od low level resenja tu je SqlDataReader, prosto slanje upita na bazu, sto mi je blisko resenje, a video sam i SqlDataAdapter koji obavlja slicnu funkciju, samo malo naprednije... Procitao sam i tutorial za Data Access Layer, zvuci lepo, mada mi se ne svidja to sto nema C# koda, vec se sve generise na osnovu XML seme... Dakle, mnogo resenja, pa mene zanima sta vi preporucujete, koliko apstrakcije mi je potrebno, te sta bi najbolje radilo posao.
__________________
The knack of flying is learning how to throw yourself at the ground and miss. |
01. 07. 2008. | #2 |
član
Na probnom radu
Datum učlanjenja: 19.03.2006
Poruke: 38
Hvala: 0
3 "Hvala" u 3 poruka
|
Ja sam u firmi poslao zaduženje da se za predstojeći projekt ispitaju i istestiraju SubSonic, CoolStorage te LINQ. Tipovi su popljuvali SubSonic i CoolStorage zato što to nije Microsoft. Na stranu sad to što je Microsoft zaposlio Roba Conerya upravo zbog njegovog rada na SubSonicu. Ali to ekipa ne zna.
Uglavnom prisiljen sam koristiti LINQ, ali ni to nije problem da DBA ne inzistira da sav pristup bazi ide preko stora pa se LINQ zapravo i ne koristi kako bi se trebao već je to jedna mješavina s kojom ja ne želim imati posla (drugi kolega radi data layer). Ali na osnovi dosadašnjeg iskustva vidim da je LINQ dosta sirov i nedorađen i ponavlja neke greške koje su drugi ORM-ovi (mada se LINQ dosta razlikuje od standardnih biblioteka toga tipa) već odavno riješili prije preko nekoliko godina. Ono što se meni dopada je CoolStorage - ProMesh kombinacija. ProMesh i koristimo u razvoju, ali kako se radi o Ajax aplikaciji (ExtJS kao user interface) uglavnom ga upotrebljavamo samo za provjeru prava pristupa i kreiranje JSON API-ja serijalizirajući ono što nam vraća data layer). Meni se dopada navedena kombinacija jer u njima nema viška (binary ProMesha i CoolStoragea nemaju zajedno više od 100Kb zipano) već samo ono što je potrebno prosječnom developeru web aplikacija. ProMesh - http://www.codeplex.com/ProMesh CoolStorage - http://www.codeplex.com/CoolStorage |
"Hvala" ylodi za poruku: |
01. 07. 2008. | #3 |
profesionalac
Professional
|
CoolStorage - uprkos smesnom imenu, deluje izuzetno dobro, probacu ga...
ProMesh mi ne znaci puno posto vec koristim ASP.NET MVC, koji ipak ima vecu podrsku kad je community u pitanju.
__________________
The knack of flying is learning how to throw yourself at the ground and miss. |
01. 07. 2008. | #4 |
dinosaurus
Master
Datum učlanjenja: 29.12.2005
Lokacija: Nova Engleska
Poruke: 636
Hvala: 79
263 "Hvala" u 66 poruka
|
A čudo niko nije pogledao NHibernate?
|
02. 07. 2008. | #5 |
profesionalac
Professional
|
Gledao sam NHibernate, izgleda i kvalitetno i kompleksno, razmisljam da nije overkill za prostije projekte (ispravi me ako gresim)... Za slozenije, verujem da vredi uloziti vreme u tako nesto..
Svakako cu pogledati sve opcije, tek ulazim u celu pricu...
__________________
The knack of flying is learning how to throw yourself at the ground and miss. |
03. 07. 2008. | #6 |
Developer
Na probnom radu
Datum učlanjenja: 06.06.2005
Lokacija: Wien
Poruke: 19
Hvala: 0
0 "Hvala" u 0 poruka
|
Jos jedan glas za NHibernate.
Nazalost anotacije (tj. atributi u .NET-u) ne rade dobro kao u Javi,pa se uglavnom radi sa XML fajlovima.Mislim da nije overhead , jer ti omogucava laku promenu baze i lako se odrzava.Jedino ako bas imas samo par tabela... PS. Serija video tutorijala od Rob Conery-a za TDD,MVC i Subsonic je nesto najvrednije postavljeno na netu. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
.htaccess selektivni pristup | apolo | Regular expression i htaccess | 5 | 18. 02. 2010. 22:45 |
Koji jezik da koristim za pristup bazi? | biske | Programiranje | 10 | 08. 09. 2008. 13:12 |
wireless pristup internetu | robi | Web aplikacije, web servisi i software | 7 | 17. 05. 2008. 00:24 |
Generator klasa za pristup bazi podataka | Ilija Studen | PHP | 15 | 31. 03. 2006. 19:23 |