<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>Alessandro Sorcinelli - SharePoint e .NET</title>
        <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/Default.aspx</link>
        <description>ASP.NET, C#, SharePoint, varie ed eventuali</description>
        <language>it-IT</language>
        <copyright>Alessandro Sorcinelli</copyright>
        <generator>Subtext Version 2.1.0.3</generator>
        <image>
            <title>Alessandro Sorcinelli - SharePoint e .NET</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Eseguire un assembly in un AppDomain separato</title>
            <category>Visual Studio e .NET</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2011/12/02/eseguire-un-assembly-in-un-appdomain-separato.aspx</link>
            <description>&lt;p&gt; Nello sviluppo di architetture a plugin può diventare necessario eseguire assembly in un AppDomain separato, magari recuperando gli assembly (con relative dipedenze) da una sottocartella.     &lt;br /&gt;
In rete si trovano tantissimi esempi, che usano metodi recenti o datati e che sfruttano varie tecniche. Sono però riuscito ad arrivare ad una soluzione che mi soddisfacesse, solo dopo molti tentativi e molte ricerche e quindi mi sembra giusto condividere i risultati della mia ricerca sperando che possano facilitare la vita a qualcuno.&lt;/p&gt;
&lt;p&gt;Prima di andare avanti vorrei però esplicitare le mie necessità:&lt;/p&gt;
&lt;p&gt;- Eseguire i metodi di una o più classi contenute all’interno di un assembly, in un AppDomain separato;    &lt;br /&gt;
- Poter caricare nell’AppDomain assembly con reference ad altri assembly “locali” o memorizzati nella GAC;  &lt;br /&gt;
- Memorizzare l’assembly (con tutte le sue dipendenze) in una sotto directory;     &lt;br /&gt;
- Poter passare parametri al costruttore delle classi da creare.     &lt;br /&gt;
  &lt;br /&gt;
La funzione seguente, seppur molto semplice, soddisfa tutte le mie necessità:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; height: 395px; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: rgb(96, 96, 96);"&gt;   1:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;Sub&lt;/span&gt; ExecuteOnAppDomain(&lt;span style="color: rgb(0, 0, 255);"&gt;ByVal&lt;/span&gt; typeName &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;String&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;ByVal&lt;/span&gt; assemblyName &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;String&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum2" style="color: rgb(96, 96, 96);"&gt;   2:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; domainSetup &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; AppDomainSetup = &lt;span style="color: rgb(0, 0, 255);"&gt;New&lt;/span&gt; AppDomainSetup&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum3" style="color: rgb(96, 96, 96);"&gt;   3:&lt;/span&gt;     domainSetup.ApplicationBase = Environment.CurrentDirectory&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum4" style="color: rgb(96, 96, 96);"&gt;   4:&lt;/span&gt;     domainSetup.PrivateBinPath = &lt;span style="color: rgb(0, 96, 128);"&gt;"RELATIVE_FOLDER"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum5" style="color: rgb(96, 96, 96);"&gt;   5:&lt;/span&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;' Copia delle policy dall'appdomain corrente&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum6" style="color: rgb(96, 96, 96);"&gt;   6:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; adevidence &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; Evidence = AppDomain.CurrentDomain.Evidence&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum7" style="color: rgb(96, 96, 96);"&gt;   7:&lt;/span&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;' Creazione nuovo appdomain&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum8" style="color: rgb(96, 96, 96);"&gt;   8:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; domain &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; AppDomain = AppDomain.CreateDomain(&lt;span style="color: rgb(0, 96, 128);"&gt;"SomeAppDomain"&lt;/span&gt;, adevidence, domainSetup)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum9" style="color: rgb(96, 96, 96);"&gt;   9:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum10" style="color: rgb(96, 96, 96);"&gt;  10:&lt;/span&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;' Argomenti costruttore&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum11" style="color: rgb(96, 96, 96);"&gt;  11:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; constructorArgs &lt;span style="color: rgb(0, 0, 255);"&gt;As&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;New&lt;/span&gt; List(Of &lt;span style="color: rgb(0, 0, 255);"&gt;Object&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum12" style="color: rgb(96, 96, 96);"&gt;  12:&lt;/span&gt;     constructorArgs.Add(&lt;span style="color: rgb(0, 96, 128);"&gt;"PARAM1"&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum13" style="color: rgb(96, 96, 96);"&gt;  13:&lt;/span&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;' ....&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum14" style="color: rgb(96, 96, 96);"&gt;  14:&lt;/span&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;' ....&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum15" style="color: rgb(96, 96, 96);"&gt;  15:&lt;/span&gt;     constructorArgs.Add(10)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum16" style="color: rgb(96, 96, 96);"&gt;  16:&lt;/span&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;' Bindings&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum17" style="color: rgb(96, 96, 96);"&gt;  17:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; bindings = BindingFlags.CreateInstance &lt;span style="color: rgb(0, 0, 255);"&gt;Or&lt;/span&gt; BindingFlags.Instance &lt;span style="color: rgb(0, 0, 255);"&gt;Or&lt;/span&gt; BindingFlags.&lt;span style="color: rgb(0, 0, 255);"&gt;Public&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum18" style="color: rgb(96, 96, 96);"&gt;  18:&lt;/span&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;' Creazione della classe dato il nome completo e l'assembly di riferimento&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum19" style="color: rgb(96, 96, 96);"&gt;  19:&lt;/span&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;Dim&lt;/span&gt; obj = domain.CreateInstanceAndUnwrap(assemblyName, typeName, &lt;span style="color: rgb(0, 0, 255);"&gt;False&lt;/span&gt;, bindings, &lt;span style="color: rgb(0, 0, 255);"&gt;Nothing&lt;/span&gt;,&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum20" style="color: rgb(96, 96, 96);"&gt;  20:&lt;/span&gt;                                              constructorArgs.ToArray, &lt;span style="color: rgb(0, 0, 255);"&gt;Nothing&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;Nothing&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;Nothing&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum21" style="color: rgb(96, 96, 96);"&gt;  21:&lt;/span&gt;     obj.DoWork()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum22" style="color: rgb(96, 96, 96);"&gt;  22:&lt;/span&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;' Unload dell'appdomain&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum23" style="color: rgb(96, 96, 96);"&gt;  23:&lt;/span&gt;     AppDomain.Unload(domain)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span id="lnum24" style="color: rgb(96, 96, 96);"&gt;  24:&lt;/span&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;End&lt;/span&gt; Sub&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;   &lt;br /&gt;
Alcune note:     &lt;br /&gt;
&lt;br /&gt;
- Nella proprietà PrivateBinPath dell’AppDomainSetup è possibile specificare le sottodirectory da utilizzare per il probing degli assembly;     &lt;br /&gt;
- I parametri del costruttore devono essere specificati nello stesso ordine e devono avere lo stesso tipo di quelli presenti nel costruttore della classe da istanziare;     &lt;br /&gt;
- L’assembly name non deve contenere il suffisso “.dll” ma solo il nome dell’assembly;     &lt;br /&gt;
- Il typeName deve contenere il nome completo del tipo della classe da istanziare;     &lt;br /&gt;
- Tutti gli assembly referenziati devono essere inseriti nelle sottodirectory o nella directory principale del nostro applicativo (o nella GAC);     &lt;br /&gt;
- La risoluzione delle dipendenze viene fatta in automatico senza dover implementare nessun meccanismo manuale di risoluzione.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/100593.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2011/12/02/eseguire-un-assembly-in-un-appdomain-separato.aspx</guid>
            <pubDate>Fri, 02 Dec 2011 10:16:09 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/100593.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2011/12/02/eseguire-un-assembly-in-un-appdomain-separato.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/100593.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/100593.aspx</trackback:ping>
        </item>
        <item>
            <title>NHibernate: utilizzare lo 0 per rappresentare l&amp;rsquo;assenza di entit&amp;agrave;</title>
            <category>NHibernate</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2011/02/22/nhibernate-utilizzare-lo-0-per-rappresentare-lrsquoassenza-di-entitagrave.aspx</link>
            <description>&lt;p&gt;&lt;br /&gt;
Quando si ha a che fare con database legacy, potrebbe saltar fuori la necessità di non inserire nel database valori nulli per le relazioni many-to-one nulle, ma bensì il valore zero.&lt;/p&gt;
&lt;p&gt;Questo &lt;a target="_blank" href="http://nhforge.org/blogs/nhibernate/archive/2011/01/28/how-to-use-0-instead-of-null-for-foreign-keys.aspx"&gt;post&lt;/a&gt; su NHForge, discute la problematica e definisce una soluzione. Per chi avesse bisogno della versione in VB.NET ecco il codice convertito:&lt;/p&gt;
&lt;div style="BORDER-BOTTOM: silver 1px solid; TEXT-ALIGN: left; BORDER-LEFT: silver 1px solid; PADDING-BOTTOM: 4px; LINE-HEIGHT: 12pt; BACKGROUND-COLOR: #f4f4f4; MARGIN: 20px 0px 10px; PADDING-LEFT: 4px; WIDTH: 97.5%; PADDING-RIGHT: 4px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; FONT-SIZE: 8pt; OVERFLOW: hidden; BORDER-TOP: silver 1px solid; CURSOR: text; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 4px" id="codeSnippetWrapper"&gt;
&lt;div style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px" id="codeSnippet"&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Class&lt;/span&gt; NullableTuplizer&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     &lt;span style="COLOR: #0000ff"&gt;Inherits&lt;/span&gt; PocoEntityTuplizer&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="COLOR: #0000ff"&gt;Sub&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;New&lt;/span&gt;(&lt;span style="COLOR: #0000ff"&gt;ByVal&lt;/span&gt; entityMetamodel &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; EntityMetamodel, &lt;span style="COLOR: #0000ff"&gt;ByVal&lt;/span&gt; mappedEntity &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; PersistentClass)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum5"&gt;   5:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;MyBase&lt;/span&gt;.&lt;span style="COLOR: #0000ff"&gt;New&lt;/span&gt;(entityMetamodel, mappedEntity)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Sub&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum7"&gt;   7:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     &lt;span style="COLOR: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Overrides&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Function&lt;/span&gt; GetPropertyValuesToInsert(&lt;span style="COLOR: #0000ff"&gt;ByVal&lt;/span&gt; entity &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Object&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;ByVal&lt;/span&gt; mergeMap &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; IDictionary,&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum9"&gt;   9:&lt;/span&gt;                             &lt;span style="COLOR: #0000ff"&gt;ByVal&lt;/span&gt; session &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; NHibernate.Engine.ISessionImplementor) &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Object&lt;/span&gt;()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;Dim&lt;/span&gt; values() &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Object&lt;/span&gt; = &lt;span style="COLOR: #0000ff"&gt;MyBase&lt;/span&gt;.GetPropertyValuesToInsert(entity, mergeMap, session)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         &lt;span style="COLOR: #008000"&gt;' Dirty hack 1&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;For&lt;/span&gt; i &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Integer&lt;/span&gt; = 0 &lt;span style="COLOR: #0000ff"&gt;To&lt;/span&gt; values.Length - 1&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum13"&gt;  13:&lt;/span&gt;             &lt;span style="COLOR: #0000ff"&gt;If&lt;/span&gt; (values(i) &lt;span style="COLOR: #0000ff"&gt;Is&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Nothing&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;AndAlso&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;GetType&lt;/span&gt;(IEntity).IsAssignableFrom(getters(i).ReturnType)) &lt;span style="COLOR: #0000ff"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum14"&gt;  14:&lt;/span&gt;                 values(i) = ProxyFactory.GetProxy(0, &lt;span style="COLOR: #0000ff"&gt;Nothing&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum15"&gt;  15:&lt;/span&gt;             &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum16"&gt;  16:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum17"&gt;  17:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;Return&lt;/span&gt; values&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum18"&gt;  18:&lt;/span&gt;     &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Function&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum19"&gt;  19:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum20"&gt;  20:&lt;/span&gt;     &lt;span style="COLOR: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Overrides&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Function&lt;/span&gt; GetPropertyValues(&lt;span style="COLOR: #0000ff"&gt;ByVal&lt;/span&gt; entity &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Object&lt;/span&gt;) &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Object&lt;/span&gt;()&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum21"&gt;  21:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;Dim&lt;/span&gt; values() &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Object&lt;/span&gt; = &lt;span style="COLOR: #0000ff"&gt;MyBase&lt;/span&gt;.GetPropertyValues(entity)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum22"&gt;  22:&lt;/span&gt;         &lt;span style="COLOR: #008000"&gt;' Dirty hack 2&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum23"&gt;  23:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;For&lt;/span&gt; i &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Integer&lt;/span&gt; = 0 &lt;span style="COLOR: #0000ff"&gt;To&lt;/span&gt; values.Length - 1&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum24"&gt;  24:&lt;/span&gt;             &lt;span style="COLOR: #0000ff"&gt;If&lt;/span&gt; (values(i) &lt;span style="COLOR: #0000ff"&gt;Is&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Nothing&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;AndAlso&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;GetType&lt;/span&gt;(IEntity).IsAssignableFrom(getters(i).ReturnType)) &lt;span style="COLOR: #0000ff"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum25"&gt;  25:&lt;/span&gt;                 values(i) = ProxyFactory.GetProxy(0, &lt;span style="COLOR: #0000ff"&gt;Nothing&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum26"&gt;  26:&lt;/span&gt;             &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum27"&gt;  27:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum28"&gt;  28:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;Return&lt;/span&gt; values&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum29"&gt;  29:&lt;/span&gt;     &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Function&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum30"&gt;  30:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum31"&gt;  31:&lt;/span&gt;     &lt;span style="COLOR: #0000ff"&gt;Public&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Overrides&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Sub&lt;/span&gt; SetPropertyValues(&lt;span style="COLOR: #0000ff"&gt;ByVal&lt;/span&gt; entity &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Object&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;ByVal&lt;/span&gt; values() &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Object&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum32"&gt;  32:&lt;/span&gt;         &lt;span style="COLOR: #008000"&gt;' Dirty hack 3&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum33"&gt;  33:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;For&lt;/span&gt; i &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Integer&lt;/span&gt; = 0 &lt;span style="COLOR: #0000ff"&gt;To&lt;/span&gt; values.Length - 1&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum34"&gt;  34:&lt;/span&gt;             &lt;span style="COLOR: #0000ff"&gt;If&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;GetType&lt;/span&gt;(IEntity).IsAssignableFrom(getters(i).ReturnType) &lt;span style="COLOR: #0000ff"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum35"&gt;  35:&lt;/span&gt;                 &lt;span style="COLOR: #0000ff"&gt;Try&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum36"&gt;  36:&lt;/span&gt;                     &lt;span style="COLOR: #008000"&gt;' Provo ad accedere alla proprietà id&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum37"&gt;  37:&lt;/span&gt;                     &lt;span style="COLOR: #0000ff"&gt;If&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;CType&lt;/span&gt;(values(i), IEntity).ID = 0 &lt;span style="COLOR: #0000ff"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum38"&gt;  38:&lt;/span&gt;                         values(i) = &lt;span style="COLOR: #0000ff"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum39"&gt;  39:&lt;/span&gt;                     &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum40"&gt;  40:&lt;/span&gt;                 &lt;span style="COLOR: #0000ff"&gt;Catch&lt;/span&gt; ex &lt;span style="COLOR: #0000ff"&gt;As&lt;/span&gt; Exception&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum41"&gt;  41:&lt;/span&gt;                     &lt;span style="COLOR: #008000"&gt;' Errore. Il proxy ha restituito un errore&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum42"&gt;  42:&lt;/span&gt;                     values(i) = &lt;span style="COLOR: #0000ff"&gt;Nothing&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum43"&gt;  43:&lt;/span&gt;                 &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Try&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum44"&gt;  44:&lt;/span&gt;             &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum45"&gt;  45:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum46"&gt;  46:&lt;/span&gt;         &lt;span style="COLOR: #0000ff"&gt;MyBase&lt;/span&gt;.SetPropertyValues(entity, values)&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum47"&gt;  47:&lt;/span&gt;     &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Sub&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: #f4f4f4; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum48"&gt;  48:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="BORDER-BOTTOM-STYLE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0px; LINE-HEIGHT: 12pt; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: white; MARGIN: 0em; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-FAMILY: &amp;quot;Courier New&amp;quot;, courier, monospace; DIRECTION: ltr; BORDER-TOP-STYLE: none; COLOR: black; FONT-SIZE: 8pt; BORDER-LEFT-STYLE: none; OVERFLOW: visible; PADDING-TOP: 0px"&gt;&lt;span style="COLOR: #606060" id="lnum49"&gt;  49:&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;End&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;Class&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Due note: l’interfaccia &lt;strong&gt;IEntity&lt;/strong&gt; è un’interfaccia base implementata dalle mie entità. Nel mio caso definisce solo la proprietà ID, ma potrebbe anche essere completamente vuota o avere altre proprietà comuni.&lt;/p&gt;
&lt;p&gt;La funzione &lt;strong&gt;SetPropertyValues&lt;/strong&gt; è invece leggermente diversa da quella proposta sul post linkato in precedenza. In particolar modo, nel mio caso quando provavo ad accedere all’ID della mia entità, veniva sempre lanciata un’eccezione in quanto il proxy non riusciva a trovare l’entità con ID 0. Forse è un mio errore e forse la soluzione proposta (il try-catch) non è il massimo della vita, ma al momento la soluzione funziona.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/99751.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2011/02/22/nhibernate-utilizzare-lo-0-per-rappresentare-lrsquoassenza-di-entitagrave.aspx</guid>
            <pubDate>Tue, 22 Feb 2011 12:52:13 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/99751.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2011/02/22/nhibernate-utilizzare-lo-0-per-rappresentare-lrsquoassenza-di-entitagrave.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/99751.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/99751.aspx</trackback:ping>
        </item>
        <item>
            <title>NH Day: annullamento iscrizione ?</title>
            <category>NHibernate</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2010/08/23/nh-day-annullamento-iscrizione.aspx</link>
            <description>&lt;p&gt;Causa spostamento matrimonio e del relativo viaggio di nozze, non potrò partecipare al prossimo NH Day (mannaggia alla pupazza!!!).&lt;/p&gt;
&lt;p&gt;Devo annullare semplicemente l'iscrizione o è possibile girare il posto a qualcun altro?&lt;br /&gt;
Qualcuno mi sa dare informazioni?&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/99101.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2010/08/23/nh-day-annullamento-iscrizione.aspx</guid>
            <pubDate>Mon, 23 Aug 2010 09:09:07 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/99101.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2010/08/23/nh-day-annullamento-iscrizione.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/99101.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/99101.aspx</trackback:ping>
        </item>
        <item>
            <title>NHibernate 3 Alpha 2</title>
            <category>NHibernate</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2010/08/18/nhibernate-3-alpha-2.aspx</link>
            <description>&lt;p&gt;Le ferie sono già un ricordo per me, ma almeno qualche buona notizia c'e'! &lt;br /&gt;
Durante questo periodo di inattività è stata rilasciata l'alpha 2 di NHibernate 3.  Qui il link per il download:&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;&lt;a href="http://sourceforge.net/projects/nhibernate/files/"&gt;http://sourceforge.net/projects/nhibernate/files/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/99082.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2010/08/18/nhibernate-3-alpha-2.aspx</guid>
            <pubDate>Wed, 18 Aug 2010 10:55:02 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/99082.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2010/08/18/nhibernate-3-alpha-2.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/99082.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/99082.aspx</trackback:ping>
        </item>
        <item>
            <title>NHDay: Iscrizione completata!</title>
            <category>NHibernate</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2010/06/15/nhday-iscrizione-completata.aspx</link>
            <description>&lt;p&gt;Stavo quasi per scordarmi, ma fortunatamente i posti sono ancora disponibili e l'iscrizione al prossimo &lt;a href="http://nhday.eu/"&gt;NHDay&lt;/a&gt; è stata fatta!&lt;/p&gt;
&lt;p&gt;Ci si vede li per chi ci sarà!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/98800.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2010/06/15/nhday-iscrizione-completata.aspx</guid>
            <pubDate>Tue, 15 Jun 2010 18:10:48 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/98800.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2010/06/15/nhday-iscrizione-completata.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/98800.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/98800.aspx</trackback:ping>
        </item>
        <item>
            <title>[VOT] - Un Homer veramente realistico!</title>
            <category>Generali</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2008/03/26/91873.aspx</link>
            <description>&lt;p&gt;Scusate, so di essere in iper-off-topic, ma da fan di Homer non ho potuto resistere:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://kk.org/ct2/2008/03/hyperreal-homer.php"&gt;http://kk.org/ct2/2008/03/hyperreal-homer.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Veramente impressionante!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/91873.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2008/03/26/91873.aspx</guid>
            <pubDate>Wed, 26 Mar 2008 14:28:54 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/91873.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2008/03/26/91873.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/91873.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/91873.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] - Post interessante su Google</title>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/10/01/88662.aspx</link>
            <description>&lt;p&gt;Vorrei segnare un post veramente interessante dedicato a Google.&lt;br /&gt;Ecco il link: &lt;a title="http://blogs.devleap.com/romeopruno/archive/2007/10/01/google-ci-pensi-te.aspx" href="http://blogs.devleap.com/romeopruno/archive/2007/10/01/google-ci-pensi-te.aspx"&gt;http://blogs.devleap.com/romeopruno/archive/2007/10/01/google-ci-pensi-te.aspx&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Romeo mi vorrà scusare se non ho fatto troppa attenzione al testo &lt;img src="http://www.tuttogratis.it/img/emoticons/_Innamorato.gif" border="0" /&gt;  .&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/88662.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/10/01/88662.aspx</guid>
            <pubDate>Mon, 01 Oct 2007 18:26:17 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/88662.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/10/01/88662.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/88662.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/88662.aspx</trackback:ping>
        </item>
        <item>
            <title>Popup MSN-Like e &amp;quot;skinnabile&amp;quot;</title>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/09/27/88571.aspx</link>
            <description>&lt;p&gt;Ero alla ricerca di un esempietto che mi aiutasse a visualizzare un popup MSN-LIke. Mi sono imbattuto in &lt;a href="http://www.codeproject.com/cs/miscctrl/taskbarnotifier.asp" target="_blank"&gt;questo progetto&lt;/a&gt; su CodeProject che fa proprio al caso mio.&lt;/p&gt; &lt;p&gt;Il sorgente è un po' datato (risale al 2002), ma si converte (ed eventualmente estende) senza errori anche su Visual Studio 2005. Rispetto ad altri esempi simili che ho trovato in giro ha la possibilità di "skinnare" il popup da visualizzare con delle semplici bitmap.&lt;/p&gt; &lt;p&gt;Interessante la possibilità di usare sfondi con zone trasparenti (nell'esempio sono incluse tre skin che mostrano come fare).&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/88571.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/09/27/88571.aspx</guid>
            <pubDate>Thu, 27 Sep 2007 00:16:33 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/88571.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/09/27/88571.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/88571.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/88571.aspx</trackback:ping>
        </item>
        <item>
            <title>Tool per la formattazione di codice Javascript</title>
            <category>Programmazione Web</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/09/26/88560.aspx</link>
            <description>&lt;p&gt;Segnalo un simpatico tool online per la formattazione di codice javascript: &lt;a title="http://elfz.laacz.lv/beautify/" href="http://elfz.laacz.lv/beautify/"&gt;http://elfz.laacz.lv/beautify/&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;Fonte: &lt;a title="http://weblogs.asp.net/dwahlin/archive/2007/09/26/javascript-beautifier-tool.aspx" href="http://weblogs.asp.net/dwahlin/archive/2007/09/26/javascript-beautifier-tool.aspx"&gt;http://weblogs.asp.net/dwahlin/archive/2007/09/26/javascript-beautifier-tool.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/88560.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/09/26/88560.aspx</guid>
            <pubDate>Wed, 26 Sep 2007 16:50:33 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/88560.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/09/26/88560.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/88560.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/88560.aspx</trackback:ping>
        </item>
        <item>
            <title>Javascript Debugging anche in Visual Studio 2005</title>
            <category>Programmazione Web</category>
            <category>Visual Studio e .NET</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/08/01/87135.aspx</link>
            <description>&lt;p&gt;Personalmente non lo sapevo, ma  anche su Visual Studio 2005 è possibile debuggare script JS con tutti i vantaggi che ne conseguono! &lt;br /&gt;
Un caloroso ringraziamento a &lt;a href="http://www.nablasoft.com/alkampfer"&gt;Gian Maria&lt;/a&gt; che mettendo, un commento al mio &lt;a href="http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/31/87053.aspx"&gt;post&lt;/a&gt; sul debugger JS in Visual Studio 2008, ha aperto nella mia vita lavorativa,  nuovi orizzonti. &lt;img alt="" border="0" src="http://www.tuttogratis.it/img/emoticons/_hi_hi.gif" /&gt; &lt;/p&gt;
&lt;p&gt;Questa &lt;a href="http://support.microsoft.com/kb/317699/en-us"&gt;pagina&lt;/a&gt; spiega in dettaglio come fare. Unica accortezza: fate attenzione a non avere disabilitato il debugging di script su Internet Explorer. &lt;/p&gt;
&lt;p&gt;Sicuramente da adesso in poi, il mio computer riceverà molti meno insulti!! &lt;/p&gt;
Technorati tags: &lt;a rel="tag" href="http://technorati.com/tag/Javascript"&gt;Javascript&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/Visual Studio 2005"&gt;Visual Studio 2005&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/87135.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/08/01/87135.aspx</guid>
            <pubDate>Wed, 01 Aug 2007 13:05:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/87135.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/08/01/87135.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/87135.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/87135.aspx</trackback:ping>
        </item>
        <item>
            <title>Ajax ControlToolkit: evitare il postback sul bottone del CalendarExtender</title>
            <category>ASP.NET e AJAX</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/08/01/87101.aspx</link>
            <description>&lt;P&gt;Il CalendarExtender &amp;#232; sicuramente un bel controllo. Nel senso che l'idea di base &amp;#232; buona, forse un po' meno l'implementazione attuale. Ci sono infatti una serie di problemi che ne rendono l'utilizzo quantomeno fastidioso.&lt;/P&gt;
&lt;P&gt;Dei problemi di memoria ne avevo parlato in un mio precedente &lt;A href="http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/06/26/83503.aspx" target=_blank&gt;post&lt;/A&gt;. Se scaricate il codice sorgente dell'ultimo check-in dovrebbero essere risolti o almeno nelle mie applicazioni non si presentano pi&amp;#249;.&lt;BR&gt;Ci sono per&amp;#242; altri problemi. In particolare quando si utilizza un bottone per far aprire il nostro calendario ci sono subito due cose che saltano all'occhio:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Clikkando sul bottone il popup del calendario viene visualizzato. Se si clikka in un qualsiasi punto dello schermo il calendario non viene nascosto in automatico, ma occorre necessariamente clikkare nuovamente sul bottone per nascondere il calendario.&lt;BR&gt;Questo &amp;#232; un comportamento anomalo per gli utenti, dato che solitamente gli altri calendari che si trovano in giro, non hanno questo comportamento. Non a caso questa modifica &amp;#232; uno dei work item pi&amp;#249; votati sul sito di &lt;A href="http://www.codeplex.com/AtlasControlToolkit/" target=_blank&gt;CodePlex&lt;/A&gt;. 
&lt;LI&gt;Quando si clikka sul bottone per visualizzare il calendario viene effettuato un postback della pagina.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Il secondo problema salta fuori quando si utilizza un ImageButton e pu&amp;#242; risultare fastidioso, prima di tutto per il postback in se e in secondo luogo perch&amp;#232; se si hanno dei validator questi "scattano". Risolvere quest'ultimo problema &amp;#232; banale, basta settare la propriet&amp;#224; &lt;EM&gt;CauseValidation&lt;/EM&gt; dell'ImageButton a &lt;EM&gt;False&lt;/EM&gt;.&lt;BR&gt;Rimane per&amp;#242; il postback che, personalmente, trovo inutile. Per risolvere anche questo problema e in attesa che sia fissato ufficialmente, &amp;#232; possibile usare questo workaround:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV class=wlWriterEditableSmartContent id=57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:9a22078d-1e2f-4dab-a0b6-7cb7d82efae4 contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE style="OVERFLOW: auto; BACKGROUND-COLOR: white"&gt;&lt;DIV&gt;&lt;!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--&gt;&lt;SPAN style="COLOR: #008080"&gt; 1&lt;/SPAN&gt; &lt;SPAN style="COLOR: #008000"&gt;&lt;!--&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; TextBox &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;--&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt; 2&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;asp:TextBox &lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="txtCalendar"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="server"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&gt;&lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;asp:TextBox&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;        
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt; 3&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;!--&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; Anchor + Image &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;--&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt; 4&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;a &lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="btnCalendar"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&gt;&lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;img &lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;src&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="images/calendar.png"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;/&gt;&lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;a&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt; 5&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;!--&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; Calendar Extender &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;--&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt; 6&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;ajax:CalendarExtender &lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="CalendarExtender1"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;   
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt; 7&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;               TargetControlID&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="txtCalendar"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt; 8&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;               PopupButtonID&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="btnCalendar"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #ff0000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt; 9&lt;/SPAN&gt; &lt;SPAN style="COLOR: #ff0000"&gt;               runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;="server"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;10&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #800000"&gt;ajax:CalendarExtender&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/PRE&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Sostanzialmente l'ImageButton viene sostituito da un anchor e da un'immagine. In questo modo il postback iniziale non avviene pi&amp;#249; e l'apertura del calendario risulta molto pi&amp;#249; veloce.&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/87101.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/08/01/87101.aspx</guid>
            <pubDate>Wed, 01 Aug 2007 07:08:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/87101.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/08/01/87101.aspx#feedback</comments>
            <slash:comments>9</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/87101.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/87101.aspx</trackback:ping>
        </item>
        <item>
            <title>Velocissima considerazione su Visual Studio 2008 beta 2</title>
            <category>ASP.NET e AJAX</category>
            <category>Visual Studio e .NET</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/31/87053.aspx</link>
            <description>&lt;p&gt;Anche io come molti altri, ho scaricato la beta 2 di Visual Studio 2008. Nel mio caso mi sono scaricato la macchina virtuale per non avere problemi di installazione e soprattutto di rimozione quando arriveranno altri aggiornamenti.&lt;/p&gt; &lt;p&gt;Essendo uno sviluppatore quasi totalmente orientato sul web, la cosa principale che mi premeva verificare erano le novit&amp;#224; su ASP.NET e in particolare il debugging e l'intellisense su Javascript. Non ci posso credere ma funziona veramente! Non sono solo dicerie!!! &lt;img src="http://www.tuttogratis.it/img/emoticons/_urrah5.gif" border="0"&gt;&lt;br&gt;Si possono inserire i punti di interruzione come nel codice VB e verificare i valori delle variabili. Mi viene quasi da piangere alla sola idea di abbandonare i vari alert o il pi&amp;#249; sofisticato &lt;a href="http://www.getfirebug.com/" target="_blank"&gt;Firebug&lt;/a&gt; (che fa tante altre cose, ma che usavo anche per avere errori JS pi&amp;#249; precisi).&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/87053.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/31/87053.aspx</guid>
            <pubDate>Tue, 31 Jul 2007 11:20:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/87053.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/31/87053.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/87053.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/87053.aspx</trackback:ping>
        </item>
        <item>
            <title>.NET Tip: recuperare l'owner di un file</title>
            <category>Visual Studio e .NET</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/31/87050.aspx</link>
            <description>&lt;P&gt;Condivido questo piccolo tip, sperando di velocizzare la ricerca a qualcun altro nel caso avesse la stessa mia esigenza.&lt;BR&gt;Tornando a noi, pensavo erroneamente che la classe FileInfo contenesse tutte le informazioni relative ad un file, compreso l'owner. &lt;BR&gt;Invece non &amp;#232; cos&amp;#236;! Fortunamente se stiamo utilizzando NTFS (non so se funziona anche in altri contesti) e il Framework 2.0 possiamo utilizzare le nuove funzioni per la gestione della security e delle ACL. &lt;BR&gt;Per recuperare l'owner del file &amp;#232; sufficiente utilizzare il seguente codice: &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV class=wlWriterEditableSmartContent id=57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:65a61c71-fbd8-4b7f-9d98-8711aaf3875e contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE style="OVERFLOW: auto; BACKGROUND-COLOR: white"&gt;&lt;DIV&gt;&lt;!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--&gt;&lt;SPAN style="COLOR: #008080"&gt;1&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;Dim&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; fInfo &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;As&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;New&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FileInfo(filePath)
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;2&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;Dim&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; owner &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;As&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;String&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;3&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;Try&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;4&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;  owner &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; fInfo.GetAccessControl.GetOwner(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;GetType&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(System.Security.Principal.NTAccount)).Value
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;5&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;Catch&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; ex &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;As&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; Exception
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;6&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;  owner &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;Sconosciuto&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;7&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;End&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;Try&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/PRE&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/87050.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/31/87050.aspx</guid>
            <pubDate>Tue, 31 Jul 2007 11:02:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/87050.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/31/87050.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/87050.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/87050.aspx</trackback:ping>
        </item>
        <item>
            <title>SQL Server 2005 Migration Assistants</title>
            <category>Database e SQL</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/30/86992.aspx</link>
            <description>&lt;P&gt;Segnalo, come altri prima di me, questa serie di &lt;A href="http://www.microsoft.com/sql/solutions/migration/default.mspx" target=_blank&gt;Migration Assistants&lt;/A&gt; per migrare database di vario tipo verso SQL Server 2005. Attualmente sono disponibili quelli per Access, Oracle e Sybase. A breve dovrebbero essere disponibili quelli per DB2 e Informix.&lt;/P&gt;
&lt;P&gt;Per chi non lo sapesse si tratta di tool che che, attraverso dei semplici wizard, permettono la migrazione di database vari&amp;nbsp;verso SQL Server 2005 (funzionano anche con la Express). Al momento sono riuscito solo a provare quello di Access e devo dire che funziona molto bene. Sono riuscito a replicare i miei database senza nessun problema. Sarei curioso di verificare quello per Oracle, ma attualmente non ho un database con cui poter fare qualche prova.&lt;/P&gt;
&lt;P&gt;Ultima nota: sono tutti gratuiti, previa registrazione e download di un piccolo fie di licenza.&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/86992.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/30/86992.aspx</guid>
            <pubDate>Mon, 30 Jul 2007 13:33:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/86992.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/30/86992.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/86992.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/86992.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.NET: utilizzare SQL Server Compact Edition 2005 al posto di Access?</title>
            <category>ASP.NET e AJAX</category>
            <category>Database e SQL</category>
            <link>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/30/86986.aspx</link>
            <description>&lt;P&gt;Iniziamo subito con il dire che utilizzare Access con ASP.NET non &amp;#232; una cosa buona e giusta. Possono saltar fuori tanti problemi, le prestazioni sono quelle che sono e non si hanno tante belle cose che troviamo in SQL Server 2005.&lt;BR&gt;Per&amp;#242; &amp;#232; innegabile che a volte fa comodo. A volte fa comodo non dover installare nessun db engine. A volte, quando si hanno piccoli siti o piccole applicazioni web, Access compie egregiamente il suo compito.&lt;/P&gt;
&lt;P&gt;Quello che mi chiedevo in questi giorni &amp;#232;: perch&amp;#232; non utilizzare &lt;A href="http://www.microsoft.com/sql/editions/compact/default.mspx" target=_blank&gt;SQL Server CE 2005&lt;/A&gt; al posto di Access? Anche in questo caso non dovrei installare niente, &amp;#232; sufficiente copiare un unico file, come nel caso di Access. Quali possono essere i problemi e le limitazioni? &lt;/P&gt;
&lt;P&gt;Utilizzare SQL CE 2005 nelle nostre applicazioni .NET &amp;#232; abbastanza banale. Possiamo infatti sfruttare il sistema a provider di ADO.NET anche con SQL CE 2005. In questo caso dobbiamo refenziare il giusto assembly, &lt;EM&gt;System.Data.SqlServerCe.dll&lt;/EM&gt;, che ci viene installato con il piccolo pacchetto di installazione.&lt;BR&gt;I problemi per&amp;#242; iniziano fin da subito: appena si tenta di aprire una connessione salta fuori la seguente eccezione:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;System.NotSupportedException: SQL Server Compact Edition is not intended for ASP.NET development.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;BR&gt;Una veloce googlata fa saltar fuori tanti post che descrivono il problema e la sua risoluzione. Sostanzialmente &amp;#232; sufficiente aggiungere la seguente riga di codice &lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:e363bc72-d389-477b-b447-8f7d3109198a contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE style="OVERFLOW: auto; BACKGROUND-COLOR: white"&gt;&lt;DIV&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;SPAN style="COLOR: #008080"&gt;1&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;AppDomain.CurrentDomain.SetData(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;SQLServerCompactEditionUnderWebHosting&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;true&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/PRE&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;BR&gt;Quello che per&amp;#242; non mi piace di tutto questo &amp;#232; proprio il fatto di utilizzare SQL Server CE 2005 in un ambito non previsto. &lt;/P&gt;
&lt;P&gt;Comunque, continuando nell'utilizzo saltano fuori anche altri problemi derivanti da alcune limitazioni di SQL Server CE 2005. Ad esempio l'esecuzione di una query banale come&lt;EM&gt; SELECT TOP 10 FROM Tabella&lt;/EM&gt; causa un errore in quanto lo statement TOP non &amp;#232; supportato. &lt;BR&gt;Fortunatamente alcune di queste limitazioni saranno rimosse nella prossima versione, quella inclusa nel Framework 3.5. Alcune delle novit&amp;#224; presenti saranno:&lt;/P&gt;
&lt;OL&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;EM&gt;SQL Server Compact Edition 3.5 Beta implements the timestamp (row version id) data type. &lt;/EM&gt;
&lt;LI&gt;&lt;EM&gt;SQL Server Compact Edition 3.5 BETA supports local transaction scope on a desktop and Tablet PC.&lt;/EM&gt; 
&lt;LI&gt;&lt;EM&gt;SQL Server Compact Edition Table Designer in Visual Studio Code Name "Orcas" has been enhanced to provide a user interface for creating primary key and foreign key relationships between tables.&lt;/EM&gt; 
&lt;LI&gt;&lt;EM&gt;SQL Server Compact Edition 3.5 Beta support for Transact-SQL statements has been extended as follows: &lt;/EM&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;Nested query in SELECT FROM clause &lt;/EM&gt;
&lt;LI&gt;&lt;EM&gt;CROSS APPLY and OUTER APPLY&lt;/EM&gt; 
&lt;LI&gt;&lt;EM&gt;CAST&lt;/EM&gt; 
&lt;LI&gt;&lt;EM&gt;TOP&lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;&lt;EM&gt;SQL Server Compact Edition 3.5 Beta supports data replication with SQL Server 2005 by using Microsoft Synchronization Services for ADO.NET. Microsoft Synchronization Services for ADO.NET is available for desktop and Tablet PCs only.&lt;/EM&gt; 
&lt;LI&gt;&lt;EM&gt;SQL Server Compact Edition 3.5 Beta supports the ADO.NET Entity Framework. The support for ADO.NET Entity Framework is available for desktop and Tablet PCs only.&lt;/EM&gt; 
&lt;LI&gt;&lt;EM&gt;SQL Server Compact Edition 3.5 Beta can be installed side-by-side with the previous version, SQL Server Compact Edition 3.1, on desktop and Tablet PC computers. Using SQL Server Compact Edition 3.5, you can open database files (*.sdf) created in SQL Server Compact Edition 3.1. Be aware that when a database file is opened in SQL Server Compact Edition 3.5, the file is updated to 3.5 and you will no longer be able to open the database by using SQL Server Compact Edition 3.1. Databases created by using SQL Server Compact Edition 3.5 cannot be opened by earlier versions of SQL Server Compact Edition. &lt;/EM&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/OL&gt;
&lt;P&gt;In conclusione l'idea di sostituire Access con SQL CE 2005 al momento non mi sembra praticabile. Delle semplici prove hanno gi&amp;#224; evidenziato alcuni problemi e alcune limitazioni. Inoltre mi chiedo anche se utilizzare SQL CE 2005 nell'ambito web non possa causare problemi o side-effects particolari. Nel caso di ASP.NET, cosa succede se pi&amp;#249; utenti accedono contemporaneamente all'applicazione? Gi&amp;#224; come prassi sono abiutato a non lasciar mai aperta la connessione al db. E' sufficiente questo?&lt;BR&gt;Qualcuno ha fatto test pi&amp;#249; approfonditi e mi sa dare delle dritte?&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/alessandro_sorcinelli/aggbug/86986.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Sorcinelli</dc:creator>
            <guid>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/30/86986.aspx</guid>
            <pubDate>Mon, 30 Jul 2007 12:07:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/86986.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/alessandro_sorcinelli/archive/2007/07/30/86986.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/alessandro_sorcinelli/comments/commentRss/86986.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/alessandro_sorcinelli/services/trackbacks/86986.aspx</trackback:ping>
        </item>
    </channel>
</rss>
