The official Fatica Labs Blog! RSS 2.0
# Saturday, 25 September 2010

Note: For visitors of your site, this entry is only displayed for users with the preselected language Romanian/română (ro)

 

Mergi la partea a 2-a: Crearea unui proiect

Mi-a venit ideea de a produce o serie de post-uri ce va permite acelora care vor să înceapă să lucreze cu NHibernate, sau cel puţin să încerce să vadă dacă acest OR/M reprezintă alegerea potrivită, să creeze în mod ordonat un cod curat, cunoscând bine de ce este nevoie, evitând parcursul „încurcat” care adesea se face la început.

Iniţial trebuie să descărcăm NHibernate. Locul potrivit pentru a face acest lucru este proiectul sourceforge, iar modul potrivit pentru a o face este procurarea fişierelor binary necesare. Mergând la linkul de download, veţi vedea ceva de genul:

clip_image002

După cum vedeţi există mai multe versiuni şi un release, ce în acest caz este reprezentat de 3.0.0 Alpha2. Eu am încercuit versiunea 2.1.2 GA pentru că este aceea pe care o vom folosi pentru această serie de articole, dar am încercuit şi GA: “general availability”. Deci, de ce nu am descărcat ultima versiune? Ce înseamnă GA ? NHibernate are o politică de predare bine consolidată şi marchează cu GA versiunile de „producţie”. Deci dacă nu cunoaşteţi anumite funcţii care există numai în alfa „de serviciu”, dacă nu vreţi să vă fie schimbate sub nas funcţii si comportamente, descărcaţi cele mai recente versiuni GA pe care le găsiţi. Pentru moment nu există „Setup”-uri ale NHibernate, cred că au existat câteva în trecut, dar oricum chiar dacă găsiţi ceva, sugestia mea este să le evitaţi: NH vă permite să faceţi un private deploy, iar acest lucru ne va fi folositor în faza de predare a aplicaţiei pe maşinile de producţie. Să descărcăm deci fişierul NHIbernate-2.1.2.GA-bin.zip. Odată descărcat, layout-ul conţinutului este schematizat mai jos:

clip_image004

În root, pe lângă ceva fleacuri, găsim două foldere importante de care avem nevoie pentru a pune la treabă NHibernate: Required_Bins, and Required_For_LazyLoading. Toate dll-urile conţinute în fişierul required bin trebuie să fie eliberate împreună cu aplicaţia (pe lângă faptul că este necesar în fază de programare J ), în timp ce din directorul Required_For_LazyLoading se poate alege folder-ul de distribuit în baza unui proxy generator ales. Acesta este un subiect pe care îl vom discuta mai târziu, pentru moment e de ajuns să ştim că NHibernate poate deriva în interior câteva dintre clasele noastre când hotărâm să avem entităţi „Lazy”, iar acest lucru se obţine prin librării externe de generare de clase „proxy”. Tipul de proxy generator ce trebuie folosit depinde de configurare, şi de aceeaşi configurare depinde şi ce folder distribuim. În exemple vom folosi LinFu. Să spunem că această alegere are impact scăzut în viaţa proiectului vostru, mai puţin în anumite situaţii particulare, deci pentru moment putem continua.

În fază de dezvoltare sunt foarte importante fişierele nhibernate-mapping.xsd si nhibernate-configuration.xsd. Aceste două fişiere vă permit să aveţi intellisens-ul abilitat pentru fișierele de mapping şi pentru configurare şi deci sunt absolut indispensabile. Deşi au ajuns în directorul required_bin, practic sunt inutile în fază de distribuţie. Pentru a activa intellisense-ul trebuie să copiaţi cele două fişiere de mai sus în directorul cuvenit din visual studio:

clip_image006

Atenţie:se poate întâmpla ca dintr-o dată Visual Studio să nu vă mai furnizeze intellisens-ul: acest lucru se întâmplă adesea deoarece există mai multe versiuni ale aceleiaşi scheme XML asociate. Aruncați o privire la acest post, unde se explică cum se poate rezolva problema.

În plus, pentru a programa şi pentru a urma exemplele în acest tutorial va fi nevoie de NUnit. Dacă îl aveţi deja, folosiţi-l, dacă nu îl aveţi puteţi recupera ultima versiune de pe site-ul oficial. Eu de obicei descarc binarul, ci nu setup-ul, şi îl decompactez sub fişierul programe. Şi NUnit funcţionează cu simplul deploy Xcopy.

Ultimul lucru înainte de a începe: când lucraţi cu NHibernate există câteva activităţi repetitive care ar fi bine să le evitaţi. Vă sfătuiesc să descărcaţi tool-ul hbm2net ce ne va permite generarea automată a claselor în cursul tutorial. Tool-ul se află în proiectul NHContrib. Descărcaţi şi decompactaţi fişierul zip într-un folder, de exemplu în C:\hbm2net. Tool-ul este un compilator linie de comandă şi va fi lansat automat de Visual Studio, dar pentru ca acest lucru să se întâmple trebuie să adăugaţi directorul unde aţi pus hbm2net în variabila de mediu PATH. Pentru a face acest lucru mergeţi la „Caracteristicile Sistemului”:

clip_image008

iar apoi adăugaţi path-ul de mai sus variabilei PATH:

clip_image010

În Partea a 2-a vom vedea cum se organizează un proiect cu NH.

Saturday, 25 September 2010 08:12:24 (GMT Daylight Time, UTC+01:00)  #    Comments [0] - Trackback
hbm2net | NHibernate | NHibernate Tutorial

My Stack Overflow
Contacts

Send mail to the author(s) E-mail

Tags
profile for Felice Pollano at Stack Overflow, Q&A for professional and enthusiast programmers
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2019
Felice Pollano
Sign In
Statistics
Total Posts: 157
This Year: 0
This Month: 0
This Week: 0
Comments: 127
This blog visits
All Content © 2019, Felice Pollano
DasBlog theme 'Business' created by Christoph De Baene (delarou) and modified by Felice Pollano