<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>NHibernate</title>
        <link>http://blogs.ugidotnet.org/matteomigliore/category/2686.aspx</link>
        <description>NHibernate</description>
        <language>it-IT</language>
        <copyright>Matteo Migliore</copyright>
        <managingEditor>matteo.migliore@gmail.com</managingEditor>
        <generator>Subtext Version 2.0.0.43</generator>
        <item>
            <title>[TimeTracker] Dal class-diagram al diagramma ER</title>
            <link>http://blogs.ugidotnet.org/matteomigliore/archive/2008/01/07/timetracker-dal-class-diagram-al-diagramma-er.aspx</link>
            <description>&lt;div&gt;Ho iniziato a lavorare ad un progetto di cui parlerò fra qualche settimana. Anticipo che si tratta di un &lt;a title="Time Tracker Starter Kit : The Official Microsoft ASP.NET Site" href="http://www.asp.net/downloads/starter-kits/time-tracker/"&gt;TimeTracker&lt;/a&gt;, il cui scopo principale è quello di racchiudere vari principi del design object oriented e di metodologie di sviluppo del software. L'obiettivo sarebbe anche quello di creare un presentation layer che offra degli spunti concreti ed infine avere a disposizione un TimeTracker realmente utilizzabile.&lt;br /&gt;
&lt;br /&gt;
Nel frattempo scriverò qualche post durante "l'avanzamento dei lavori". Ho quasi terminato il disegno del &lt;a title="Class diagram on Wikipedia" href="http://en.wikipedia.org/wiki/Class_diagram"&gt;class diagram&lt;/a&gt; e la cosa che mi ha dato maggiormente soddisfazione al momento è il fatto di essere in grado di generare il database direttamente dal class diagram attraverso &lt;a title="hibernate.org - NHibernate for .NET" href="http://www.nhibernate.org/"&gt;NHibernate&lt;/a&gt; e la corretta definizione dei &lt;a title="Chapter 5. Basic O/R Mapping" href="http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/mapping.html"&gt;file di mapping&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Per un motivo (database già esistente) o l'altro (mancanza di tempo) non ho mai sfruttato questa feature di NHibernate davvero utile. &lt;br /&gt;
&lt;br /&gt;
I due vantaggi sostanziali sono:&lt;br /&gt;
- possibilità di generare qualunque database supportato da NHibernate&lt;br /&gt;
- definizione dei vincoli nei file di mapping&lt;br /&gt;
&lt;br /&gt;
Anche se alla fine della fiera si tratta solamente di query T-SQL "create table" o "alter table", è stupefacente avere il database (Sql Server 2005) vuoto un momento e il momento dopo averlo completamente popolato ovviamente ottenendo gratis anche il &lt;a title="ER model on Wikipedia" href="http://en.wikipedia.org/wiki/Entity-relationship_model"&gt;database diagram&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Una cosa fatta meglio del diagramma ER (Management Studio) rispetto al class diagram (VIsual Studio 2008): il metodo di riorganizzazione del grafico... per il resto, beh è come sparare sulla croce rossa :-D. Il confronto tra i due modelli:&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;table style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="VERTICAL-ALIGN: top; MARGIN-RIGHT: 5px"&gt;Class diagram&lt;br /&gt;
            &lt;a href="http://farm3.static.flickr.com/2085/2173589876_2be671a8b4_o.jpg"&gt;&lt;img alt="Class diagram TimeTracker" src="http://farm3.static.flickr.com/2085/2173589876_e2570ca4fe_m.jpg" /&gt;&lt;/a&gt; &lt;/td&gt;
            &lt;td style="PADDING-LEFT: 5px"&gt;Diagramma ER&lt;br /&gt;
            &lt;a href="http://farm3.static.flickr.com/2085/2172798305_62808a6f94_o.jpg"&gt;&lt;img alt="Diagramma ER TimeTracker" src="http://farm3.static.flickr.com/2085/2172798305_bdb3411a66_m.jpg" /&gt;&lt;/a&gt; &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;
Spero di avere abbastanza tempo per poter andare avanti speditamente :-). In teoria dovrebbe anche entrarci Silverlight 1.1 in minima parte, ma è da vedere.&lt;br /&gt;
&lt;br /&gt;
A breve seguiranno altre notizie.&lt;br /&gt;
&lt;br /&gt;
Matteo Migliore.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/matteomigliore/aggbug/90583.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matteo Migliore</dc:creator>
            <guid>http://blogs.ugidotnet.org/matteomigliore/archive/2008/01/07/timetracker-dal-class-diagram-al-diagramma-er.aspx</guid>
            <pubDate>Sun, 06 Jan 2008 23:45:07 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/matteomigliore/comments/90583.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/matteomigliore/archive/2008/01/07/timetracker-dal-class-diagram-al-diagramma-er.aspx#feedback</comments>
            <slash:comments>9</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/matteomigliore/comments/commentRss/90583.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/matteomigliore/services/trackbacks/90583.aspx</trackback:ping>
        </item>
        <item>
            <title>Quanti ORM si possono trovare? NHibernate? Nahh</title>
            <link>http://blogs.ugidotnet.org/matteomigliore/archive/2007/12/01/quanti-orm-si-possono-trovare-nhibernate-nahh.aspx</link>
            <description>Premessa: in questo periodo mi sono dedicato poco alle mie solite attività, news group, post sul blog e infine una divernte e costante attività di studio di tecnologie/metodologie. &lt;br /&gt;
Il motivo è semplice: da due mesi circa sono a Milano quotidianamente, avanti e indietro, da clienti e sembra che il trend continuerà per parecchio, forse per sempre :-). Probabilmente non sempre a Milano, effettivamente stò girando anche in altre provincie, ad esempio Venezia. &lt;br /&gt;
&lt;br /&gt;
Comunque, alla ricerca di qualche ispirazione in più, ho trovato questa &lt;a href="http://www.howtoselectguides.com/dotnet/ormapping/"&gt;guida agli ORM&lt;/a&gt;; ce ne sono veramente per tutti i gusti, anche se la scelta cade quasi obbligata su prodotti open e meglio documentati... Vi viene in mente un nome? Purtroppo no, non parlo ancora di Entity Framework, che mi lascia veramente indispettito per la mancanza di supporto a "Persistence Ignorance". Perchè mai dovrei implementare delle interfaccel nel Business o peggio ancora, ereditare da una classe?? Ma non ci siamo proprio! Così come per Silverlight (1.0 non lo considero, mi perdonino i sostenitori di "media publishing"), la mancanza di controlli lo rende di fatto un sistema troppo artigianale, nonstante probabilmente a breve, per esigenze di progetto, inizierò a lavorarci pesantemente :-). &lt;br /&gt;
&lt;br /&gt;
Sono ovviamente critiche costruttive, dovute all'esigenza di aumentare la produttività e migliorare la qualità, logiche anche di business ovviamente :-). &lt;br /&gt;
Nel frattempo... buona lettura! &lt;br /&gt;
&lt;br /&gt;
Matteo Migliore.&lt;img src="http://blogs.ugidotnet.org/matteomigliore/aggbug/90052.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matteo Migliore</dc:creator>
            <guid>http://blogs.ugidotnet.org/matteomigliore/archive/2007/12/01/quanti-orm-si-possono-trovare-nhibernate-nahh.aspx</guid>
            <pubDate>Sat, 01 Dec 2007 15:20:23 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/matteomigliore/comments/90052.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/matteomigliore/archive/2007/12/01/quanti-orm-si-possono-trovare-nhibernate-nahh.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/matteomigliore/comments/commentRss/90052.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/matteomigliore/services/trackbacks/90052.aspx</trackback:ping>
        </item>
        <item>
            <title>Risorse su NHibernate</title>
            <link>http://blogs.ugidotnet.org/matteomigliore/archive/2007/05/08/77652.aspx</link>
            <description>Qui si trovano alcune risorse su NHibernate, che fa comodo avere a portata di mano:&lt;br /&gt;
&lt;br /&gt;
NHibernate Best Practices with ASP.NET, 1.2nd Ed.:&lt;br /&gt;
&lt;a href="http://www.codeproject.com/aspnet/NHibernateBestPractices.asp"&gt;http://www.codeproject.com/aspnet/NHibernateBestPractices.asp&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Un DataSource per NHibernate:&lt;br /&gt;
&lt;a href="http://www.codeproject.com/useritems/NHibernateDataSource.asp"&gt;http://www.codeproject.com/useritems/NHibernateDataSource.asp&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Linq for NHibernate:&lt;br /&gt;
&lt;a href="http://ayende.com/Blog/archive/2007/03/16/Linq-for-NHibernate.aspx"&gt;http://ayende.com/Blog/archive/2007/03/16/Linq-for-NHibernate.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Matteo Migliore.&lt;img src="http://blogs.ugidotnet.org/matteomigliore/aggbug/77652.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Matteo Migliore</dc:creator>
            <guid>http://blogs.ugidotnet.org/matteomigliore/archive/2007/05/08/77652.aspx</guid>
            <pubDate>Tue, 08 May 2007 09:19:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/matteomigliore/comments/77652.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/matteomigliore/archive/2007/05/08/77652.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/matteomigliore/comments/commentRss/77652.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/matteomigliore/services/trackbacks/77652.aspx</trackback:ping>
        </item>
    </channel>
</rss>