Entity Framework 4.0: POCO tugi

02.08.2009  |  Gunnar

tech Uue Visual Studio tulles saab täiendusi ka Entity Framework, mis peaks tõusma .Net Framework vaikimisi O/R mapper-i staatusesse. Üks meeldivamaid uuendusi Entity Framework 4.0 juures on see, et enam ei pea kasutama EF disaineri poolt automaatselt genereeritud klasse. Kes soovib võib kasutada ka enda omi.

POCO tugi

Asi, millest ma seni olen puudust tundnud ja mis on seni takistanud EF kasutamist, on POCO (Plain Old CLR Object) toe puudumine. Ma ei taha kasutada mahukamates rakendustes objekte, mis kannavad endaga kaasas kõrvalisi detaile nagu näiteks andmebaasiga majandamine.

EF 4.0 on sellest “tõvest” enam-vähem vaba. Kes soovib, võib kasutada oma klasse. Kindlasti jääb alles ka automaatselt genereeritud klasside tugi, kuid selle kasutamine on vabatahtlik.

Mina tegin katse sellise klasside komplekti peal. Tegemist on minu enda loodud klassidega, mida EF 4.0 suudab tõrgeteta kasutada.

Fotogalerii objektmudel
Fotogalerii objektmudel. Joonisel on näha kõik olulised
seosed klasside vahel.
 

Ahjaa, see pilt on EF disaineri abil tehtud. Visual Studio 2008 all saab ka selliseid ilusaid pilte teha ja neid otse pildifailiks vajadusel salvestada.

Andmebaasi loomine mudeli põhjal

Teine mugav asi, mis kasutajatele võib rõõmu pakkuda, on model first lähenemine. Selle asemel, et luua algul andmebaas ja seejärel klassid, saab nüüd teha ka vastupidi.

Minu meelest on see lähenemine parem, vähemasti neile, kes objekt-orienteeritud maailmaga alles tutvuvad. Elu on näidanud, et andmebaasi paigutamine kõige keskmesse lõpeb enamasti koodiga, mis on täis imelisi häkke ja probleeme (kujutage ette äriprotsesside vägistamist andmebaasi spetsiifika otsa).

EF 4.0 genereerib mudelli põhjal valmis SQL-koodi, mille abil saab luua mudelile vastava andmebaasi.

Fotogalerii mudeli põhjal genereeritud SQL
Fotogalerii SQL-kood. Sellises aknas saab lõpuks kätte SQL-koodi,
mille EF disainer mudeli põhjal genereerib.

Genereeritud SQL-koodi võib lasta vastu andmebaasi käima ning kõik andmebaasi objektid luuakse automaatselt.

Ma ei saa muidugi märkimata jätta seda, et kõik automaatselt tekkinu tuleb alati ise üle kontrollida. Automaatika võib olla küll väga tark, kuid mitte nii tark kui inimene.

Lõpetuseks

EF 4.0 saab kindlasti veel päris palju uuendusi ja täiendusi. Kõike ei mahuta ühte kandesse kuigi lihtsa vaevaga ära. POCO tugi on üks olulisemaid uuendusi. Kuigi LINQ To SQL abil saab juba täna kasutada oma klasse, on pärilusega seal lood hapud -  olemas on ainult table-per-inheritance-hierarchy tugi.

Minu senised katsed on EF 4.0 elanud üle päris kenasti ja hetkel tundub, et Visual Studio 2010 saabudes võib selle kasutuselevõtmist täiesti tõsiselt kaaluda.

Kommenteeri

sulge
Saada link e-postiga

© DT 2012 | Creative Commons Attribution-Noncommercial 3.0 License | WordPress