<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5032254923980467285</id><updated>2011-08-30T09:05:57.313-07:00</updated><category term='C#'/><category term='Window7'/><category term='operatori c#'/><category term='Visual Studio'/><category term='Dictionary'/><category term='DateTime'/><category term='Group'/><category term='Linq'/><category term='Database'/><category term='Main'/><category term='Date'/><category term='EntityFramework'/><category term='SqlServer'/><category term='Ado.Net'/><category term='DevExpress'/><category term='Blogger'/><category term='thread'/><category term='Parametri'/><title type='text'>Mapo4Net</title><subtitle type='html'>Esperienze operative su Windows Framework, Visual Studio, SqlServer su  problematiche comuni, ma anche no!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-6982341259510306723</id><published>2011-07-19T02:31:00.000-07:00</published><updated>2011-07-19T02:32:05.515-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='thread'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C# Ricondurre l'esecuzione di un metodo al Main Thread dell'istanza Gui</title><content type='html'>Capita che lavorando su applicazioni che sfruttano il Multithreading si rende necessario ricondurre il thread nel quale si effettua un operazione al mainThread per pubblicare il valore nel controllo della Gui. Questo perchè sotto Microsoft Windows tutta la Gui gira su quello che viene definito il Main Thread dell'applicazione.&lt;br /&gt;&lt;br /&gt;Normalmente si deve ricorrere alla scrittura di un pattern apposito. Con l'introduzione dei Delegate anonimi la problematica si risolve con una sola riga di codice.&lt;br /&gt;&lt;br /&gt;Nell'esempio sottostante, viene lanciata la richiesta di una preview in stampa ad un thread secondario che si&lt;br /&gt;preoccuperà di effettuare opportune operazioni per poi mandare a video il risultato.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #93c47d; font-family: 'Trebuchet MS', sans-serif;"&gt;// metodo utilizzato dal thread secondario. Si dovrà ricondurre la preview del report al main thread&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;public void PublishReport()&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span style="color: #2b91af;"&gt;ReportSchedaCliente&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;rpt&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span style="color: #2b91af;"&gt;ReportSchedaCliente&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;(argo);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&amp;nbsp;(!rpt.IsDataSourceEmpty())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;span style="color: blue;"&gt;this&lt;/span&gt;.Invoke(&lt;span style="color: blue;"&gt;new&lt;/span&gt;&amp;nbsp;&lt;span style="color: #2b91af;"&gt;MethodInvoker&lt;/span&gt;(&lt;span style="color: blue;"&gt;delegate&lt;/span&gt;(){&amp;nbsp;rpt.Preview();&amp;nbsp;}));&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;pre style="background: white; color: black; font-family: Consolas; font-size: 13;"&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-6982341259510306723?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/6982341259510306723/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2011/07/c-ricondurre-lesecuzione-di-un-metodo.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/6982341259510306723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/6982341259510306723'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2011/07/c-ricondurre-lesecuzione-di-un-metodo.html' title='C# Ricondurre l&apos;esecuzione di un metodo al Main Thread dell&apos;istanza Gui'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-7981459487185831030</id><published>2011-05-09T12:37:00.000-07:00</published><updated>2011-05-09T12:37:40.996-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Window7'/><title type='text'>Stanchi delle continue richieste di autorizzazione di Windows7 ?</title><content type='html'>Siete stanchi delle continue richieste di autorizzazione di Windows7 ?&lt;br /&gt;Il vostro nemico si chiama UAC dall'acronimo inglese User Account Control. Si tratta di un servizio di protezione che permette di monitorare ed eventualmente bloccare l'esecuzione di programmi o azioni che possano modificare le impostazioni del sistema operativo.&lt;br /&gt;&lt;br /&gt;Per ricondurre il vostro Windows7 all'utilizzo come amministratore, dunque senza segnalazioni effettuare la seguente sequenza di operazioni. &lt;br /&gt;&lt;br /&gt;1) Cliccare sul pulsante logo di Windows presente nella barra delle applicazioni&lt;br /&gt;2) scriviamo UAC nella casella di ricerca&lt;br /&gt;3) quindi clicchiamo su Modifica delle impostazioni di controllo dell'Account Utente&lt;br /&gt;4) spostare l'indicatore di sicurezza verso il basso "Non notificare mai"&lt;br /&gt;5) salvare l'impostazione&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-7981459487185831030?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/7981459487185831030/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2011/05/stanchi-delle-continue-richieste-di.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/7981459487185831030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/7981459487185831030'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2011/05/stanchi-delle-continue-richieste-di.html' title='Stanchi delle continue richieste di autorizzazione di Windows7 ?'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-8104511841335344317</id><published>2011-05-09T12:13:00.000-07:00</published><updated>2011-05-09T12:13:27.964-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Window7'/><title type='text'>Navigazione lenta dopo l'installazione del SP1 di Windows7</title><content type='html'>Nel mio caso ho installata una versione a 64bit di Windows7 che dopo l'aggiornamento con il SP1 &lt;br /&gt;ha subito una visibile e concreta perdita di prestazioni nella navigazione in rete. &lt;br /&gt;Il problema sembra legato ad un nuovo servizio che esegue la regolazione automatica del TCP. Funzionalità che può&amp;nbsp;fortunatamente essere disabilitata con il seguente procedimento : &lt;br /&gt;&lt;br /&gt;1) Avviare il prompt dei comandi come Amministratore &lt;br /&gt;2) Digitare il seguente comando : &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 16px; text-align: justify;"&gt;&lt;b&gt;netsh int tcp set global autotuninglevel=disabled&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; text-align: justify;"&gt;&lt;span style="color: black; font-family: Times New Roman; font-size: small;"&gt;3) Quindi pressare il tasto INVIO per confermare l'esecuzione del comando ed attendere fino a quando&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; text-align: justify;"&gt;&lt;span style="color: black; font-family: Times New Roman; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; non verrà visualizzato il messaggio OK &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; text-align: justify;"&gt;&lt;span style="color: black; font-family: Times New Roman; font-size: small;"&gt;4) Chiudere il prompt dei comandi e provare la navigazione, il pc tornerà a rispondere con le prestazioni &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; text-align: justify;"&gt;&lt;span style="color: black; font-family: Times New Roman; font-size: small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; di sempre &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; text-align: justify;"&gt;&lt;span style="color: black; font-family: Times New Roman; font-size: small;"&gt;Analogamente la sequenza di istruzioni finalizzate alla riattivazione del servizio &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; text-align: justify;"&gt;&lt;span style="color: black; font-family: Times New Roman; font-size: small;"&gt;1) Avviare il prompt dei comandi come Amministratore &lt;br /&gt;2) Digitare il seguente comando : &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 16px; text-align: justify;"&gt;&lt;b&gt;netsh int tcp set global autotuninglevel=normal&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; text-align: justify;"&gt;&lt;span style="color: black; font-family: Times New Roman; font-size: small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; text-align: justify;"&gt;&lt;span style="color: black; font-family: Times New Roman; font-size: small;"&gt;3) Quindi pressare il tasto INVIO per confermare l'esecuzione del comando ed attendere fino a quando&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; border-collapse: separate; color: black; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; text-align: justify;"&gt;&lt;span style="color: black; font-family: Times New Roman; font-size: small;"&gt;    non verrà visualizzato il messaggio OK &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-8104511841335344317?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/8104511841335344317/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2011/05/navigazione-lenta-dopo-linstallazione.html#comment-form' title='2 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/8104511841335344317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/8104511841335344317'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2011/05/navigazione-lenta-dopo-linstallazione.html' title='Navigazione lenta dopo l&apos;installazione del SP1 di Windows7'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-8626560240967534269</id><published>2011-03-07T04:32:00.000-08:00</published><updated>2011-03-07T04:32:06.409-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EntityFramework'/><title type='text'>C# EntityFramework Query parametriche</title><content type='html'>Se l'esigenza è quella di scrivere una query alla vecchia maniera e mandarla in esecuzione mediante il Context di EntityFramework, il modello di riferimento è il seguente :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public virtual ObjectQuery&lt;tentity&gt; GetAll&lt;tentity&gt;(ObjectContext context)&lt;/tentity&gt;&lt;/tentity&gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; String &lt;b&gt;queryString&lt;/b&gt; = string.Format("&lt;b&gt;SELECT VALUE t FROM {0} AS t&lt;/b&gt;", typeof(TEntity).Name));&lt;br /&gt;&amp;nbsp;&amp;nbsp; ObjectQuery&lt;tentity&gt; theQuery = context.CreateQuery&lt;tentity&gt;(queryString, new ObjectParameter[0]);&lt;/tentity&gt;&lt;/tentity&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; return theQuery;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-8626560240967534269?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/8626560240967534269/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2011/03/c-entityframework-query-parametriche.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/8626560240967534269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/8626560240967534269'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2011/03/c-entityframework-query-parametriche.html' title='C# EntityFramework Query parametriche'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-4701160203325353501</id><published>2010-10-21T03:24:00.000-07:00</published><updated>2010-10-21T03:24:33.265-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>C# Come disegnare del testo in un'immagine</title><content type='html'>In caso di particolari customizzazioni dei controlli di tipo Button, può capitare di dovere sostituire il componente Button con un PictureEdit al fine di generare dei pulsanti grafici. In questo caso se a codice è necessaria l'assegnazione di un'immagine o in assenza di quest'ultima un testo standard, è possibile procedere come segue:&lt;br /&gt;&lt;br /&gt;Nell'assegnazione dell'immagine al PictureEdit andiamo a generare una Bitmap contenente il Testo del nuovo pulsante grafico.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private &lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;Bitmap&lt;/span&gt; GetImageBitmapByDescription(&lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;string &lt;/span&gt;descrizione, &lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;int &lt;/span&gt;width, &lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;int &lt;/span&gt;height)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;// specifiche per la formattazione del testo nel pulsante&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;StringFormat &lt;/span&gt;strFormat = new &lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;StringFormat&lt;/span&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;strFormat.Alignment = StringAlignment.Center;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;strFormat.LineAlignment = StringAlignment.Center;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;// definizione della bitmap da restituire&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;Bitmap &lt;/span&gt;myBitmap = new &lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;Bitmap&lt;/span&gt;(width,height);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;Graphics &lt;/span&gt;g = Graphics.FromImage(myBitmap);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;g.DrawString(descrizione, new &lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;Font&lt;/span&gt;("Tahoma", 10, FontStyle.Regular), Brushes.DarkSlateGray,&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new &lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;RectangleF&lt;/span&gt;(0, 0, width, height), strFormat);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return myBitmap;&lt;br /&gt;}&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Richiamando la funzione sopraindicata, sarà possibile assegnare un testo al pulsante da generare, specificando le dimensioni dell'elemento grafico da agganciare al picture.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;PictureEdit&lt;/span&gt; imgButton = new&amp;nbsp;&lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;PictureEdit&lt;/span&gt;( )&lt;/div&gt;&lt;div&gt;imgButton.Image = GetImageBitmapByDescription(cc.Descrizione, 200, 80 );&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-4701160203325353501?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/4701160203325353501/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/10/c-come-disegnare-del-testo-in.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/4701160203325353501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/4701160203325353501'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/10/c-come-disegnare-del-testo-in.html' title='C# Come disegnare del testo in un&apos;immagine'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-2939573470037739738</id><published>2010-10-20T04:38:00.000-07:00</published><updated>2010-10-20T04:38:56.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DevExpress'/><title type='text'>DevExpress, XtraGrid, Impostare un background per L'Header da codice</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://documentation.devexpress.com/HelpResource.ashx?help=WindowsForms&amp;amp;document=img6803.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://documentation.devexpress.com/HelpResource.ashx?help=WindowsForms&amp;amp;document=img6803.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;void &amp;nbsp;gridView_CustomDrawColumnHeader(object sender, ColumnHeaderCustomDrawEventArgs e)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (e.Column == null) return;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;GridView gView = (GridView)sender;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (gView.RowCount != 0 &amp;amp;&amp;amp; (gView.GetRow(0) is GuiVenditaDetailEI || gView.GetRow(0) is GuiVenditaDetailEIDetail ))&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Rectangle rect = e.Bounds;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ControlPaint.DrawBorder3D(e.Graphics, e.Bounds);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SolidBrush brush = new SolidBrush(Color.FromKnownColor(KnownColor.WhiteSmoke));&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;rect.Inflate(-1, -1);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Fill column headers with the specified colors.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.Graphics.FillRectangle(brush, rect);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.Appearance.DrawString(e.Cache, e.Info.Caption, e.Info.CaptionRect);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Draw the filter and sort buttons.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;foreach (DevExpress.Utils.Drawing.DrawElementInfo info in e.Info.InnerElements)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DevExpress.Utils.Drawing.ObjectPainter.DrawObject(e.Cache, info.ElementPainter,info.ElementInfo);&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.Handled = true;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-2939573470037739738?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/2939573470037739738/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/10/devexpress-xtragrid-impostare-un.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/2939573470037739738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/2939573470037739738'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/10/devexpress-xtragrid-impostare-un.html' title='DevExpress, XtraGrid, Impostare un background per L&apos;Header da codice'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-4926977299385065279</id><published>2010-10-12T01:58:00.000-07:00</published><updated>2010-10-12T01:58:14.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>VisualStudio ed il TemplateText Toolkit</title><content type='html'>Oggi diamo uno sguardo rapido al Toolkit denominato T4 e distribuito a partire da VisualStudio 2008.&lt;br /&gt;Il T4 che per esteso è denominato : Text Template Transformation Toolkit, è un generatore di codice basato su template di tipo testo che permette di generare codice in diversi linguaggi di programmazione.&lt;br /&gt;I template utilizzati dal T4 sono composti da diverse parti, ciascuna delle quali dichiara come il codice debba essere generato. &amp;nbsp;Tali parti si possono classificare nelle seguenti sezioni :&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Directives&lt;/b&gt; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;: Ossia gli elementi che controllano come il template dovrà essere processato.&lt;br /&gt;&lt;b&gt;Text blocks&lt;/b&gt; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;: Ossia i contenuti che dovranno essere pubblicati nell’output. Per C# nelle classi da generare&lt;br /&gt;&lt;b&gt;Control blocks&lt;/b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;: Ossia i contenuti che inseriscono valori nei testi, controlli, condizioni, ecc…&lt;br /&gt;&lt;br /&gt;Segue un’esempio di Header di definizione di un .tt :&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;lt;#@ assembly name="System.Windows.Forms.dll" #&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;lt;#@ import namespace="System.Windows.Forms" #&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;lt;#@ template language="C#" debug="false" hostspecific="true"#&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;lt;#@ include file="Utility.CS.ttinclude"#&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;lt;#@ output extension=".cs"#&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Riga 1,2 &amp;nbsp; : Aggiunge al tt la Reference per l’accesso alla libreria System.Windows.Form&lt;br /&gt;Riga 3&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;: Imposta la direttiva per la compilazione di codice in lingua C# &lt;br /&gt;Riga 4&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;: Estendi le funzionalità del .tt alle funzioni disponibili in un file esterno Es. Utility.CS.ttinclude&lt;br /&gt;Riga 5 &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;: Genera un output su file .CS , dunque genera una classe in linguaggio C#&lt;br /&gt;&lt;br /&gt;Con l’utilizzo di questa tecnica è possibile generare codice automatico a DesignTime, semplificando la generazione di numerose righe di codice specie quando si tratta di codice ripetitivo.&lt;br /&gt;Un’altra modalità di utilizzo del T4 è quella di generatore dell’output di un’applicazione. In questo caso il meccanismo da utilizzare a Runtime opera seguendo i due passi descritti nel seguente diagramma funzionale&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_200WZcBDXvM/TLQiA0jknBI/AAAAAAAAAWA/L_LqJJQegJo/s1600/templatetext.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="336" src="http://2.bp.blogspot.com/_200WZcBDXvM/TLQiA0jknBI/AAAAAAAAAWA/L_LqJJQegJo/s640/templatetext.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Nel primo passo quello del Generate, il file .tt viene parserizzato dal motore T4 che lo processa e lo compila in un assembly .NET.&lt;br /&gt;&lt;br /&gt;Nel secondo passo viene generata un’istanza di questa classe e viene invocato il suo metodo TransformText mediante il quale verrà generato l’output desiderato.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-4926977299385065279?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/4926977299385065279/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/10/visualstudio-ed-il-templatetext-toolkit.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/4926977299385065279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/4926977299385065279'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/10/visualstudio-ed-il-templatetext-toolkit.html' title='VisualStudio ed il TemplateText Toolkit'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_200WZcBDXvM/TLQiA0jknBI/AAAAAAAAAWA/L_LqJJQegJo/s72-c/templatetext.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-2891697893118225495</id><published>2010-10-07T10:52:00.000-07:00</published><updated>2010-10-07T10:52:35.522-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlServer'/><title type='text'>L'utilizzo del catalogo di sistema per SqlServer</title><content type='html'>Se serve aggiungere una colonna a tutte le tabelle del Database, un piccolo generatore per lo script&lt;br /&gt;dal quale si possono evolvere le infinite varianti :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;SELECT&lt;/b&gt;&lt;/span&gt;&lt;b&gt; name, '&lt;/b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;ALTER TABLE [dbo].[&lt;/b&gt;&lt;/span&gt;&lt;b&gt;'+ name + '&lt;/b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;] ADD NuovoCampoID bigint NULL&lt;/b&gt;&lt;/span&gt;&lt;b&gt;'&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;FROM &lt;/b&gt;&lt;/span&gt;&lt;b&gt;sysobjects &lt;/b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;WHERE&lt;/b&gt;&lt;/span&gt;&lt;b&gt; (xtype = '&lt;/b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/span&gt;&lt;b&gt;')&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;lanciare la query nel &lt;b&gt;Management Studio&lt;/b&gt; e recuperare lo script con un semplice copia/incolla&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Allo stesso modo iteriamo gli oggetti Colonna per interrogare il catalogo di database ed estrapolare&lt;br /&gt;per controllo quali campi per tabella sono di tipo IDENTITY&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;SELECT OBJECT_SCHEMA_NAME&lt;/b&gt;&lt;/span&gt;&lt;b&gt;(T.[object_id],DB_ID()) AS [Schema], &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;T.[name] AS [table_name], AC.[name] AS [column_name], &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TY.[name] AS system_data_type, AC.[max_length], &amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;AC.[precision], AC.[scale], AC.[is_nullable], AC.[is_ansi_padded], AC.is_identity , AC.default_object_id&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;FROM &lt;/b&gt;&lt;/span&gt;&lt;b&gt;sys.[tables] AS T &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;INNER JOIN&lt;/b&gt;&lt;/span&gt;&lt;b&gt; sys.[all_columns] AC &lt;/b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;ON&lt;/b&gt;&lt;/span&gt;&lt;b&gt; T.[object_id] = AC.[object_id] &amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;INNER JOIN&lt;/b&gt;&lt;/span&gt;&lt;b&gt; sys.[types] TY &lt;/b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;ON&lt;/b&gt;&lt;/span&gt;&lt;b&gt; AC.[system_type_id] = TY.[system_type_id] AND AC.[user_type_id] = TY.[user_type_id] &amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;WHERE&lt;/b&gt;&lt;/span&gt;&lt;b&gt; T.[is_ms_shipped] = 0 &amp;nbsp;AND AC.is_identity=1&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;b&gt;ORDER BY&lt;/b&gt;&lt;/span&gt;&lt;b&gt; T.[name], AC.[column_id]&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ovviamente leggendo il contenuto dei cataloghi utilizzati, sarà possibile estrapolare qualunque tipo d'informazione dal nostro buon SqlServer.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-2891697893118225495?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/2891697893118225495/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/10/lutilizzo-del-catalogo-di-sistema-per.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/2891697893118225495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/2891697893118225495'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/10/lutilizzo-del-catalogo-di-sistema-per.html' title='L&apos;utilizzo del catalogo di sistema per SqlServer'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-9092106678539256170</id><published>2010-10-01T03:17:00.000-07:00</published><updated>2010-10-01T03:17:51.467-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Group'/><category scheme='http://www.blogger.com/atom/ns#' term='Linq'/><title type='text'></title><content type='html'>Ho notato girando in rete che uno dei problemi più frequenti nell'utilizzo di Linq, è la generazione simil Sql che permettano di effettuare dei raggruppamento con annesse aggregazioni. Supponiamo per esempio di volere raggruppare una tabella tipo "&lt;i&gt;NumeroRiga, Codice, Descrizione , Reparto, Categoria, Note, Prezzo, Quantità&lt;/i&gt;" &amp;nbsp;in una semplice :&lt;br /&gt;&lt;b&gt;Codice, Reparto, Categoria, sum(Quantita) , count(NumeroRiga)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;in Sql sarebbe sufficiente la scrittura :&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SELECT &amp;nbsp;Codice, Reparto, Categoria, sum(Quantita) as TotQta, count(NumeroRiga)&amp;nbsp;as Righe&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FROM Details GROUP BY&amp;nbsp;Codice, Reparto, Categoria&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;La stessa formulata in Linq (C#) si scrive come segue :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;var result = ( from dt in Details&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;group dt by new&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dt.Codice,&amp;nbsp;dt.Reparto,&amp;nbsp;dt.Categoria&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;into g&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;select new&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;b&gt;{ Codice = g.Key.Codice, Reparto&amp;nbsp;= g.Key.Reparto,&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;b&gt; &amp;nbsp;Categoria = g.Key.Categoria, QtaTot = g.Sum(p =&amp;gt; p.Quantita),&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;b&gt; &amp;nbsp;Righe = g.Count()}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;);&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In questo caso verrà materializzata una lista di oggetti di tipo anonimo, direttamente utilizzabile per&amp;nbsp;&lt;/div&gt;&lt;div&gt;un DataSource di griglia.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-9092106678539256170?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/9092106678539256170/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/10/ho-notato-girando-in-rete-che-uno-dei.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/9092106678539256170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/9092106678539256170'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/10/ho-notato-girando-in-rete-che-uno-dei.html' title=''/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-5157670925391039539</id><published>2010-09-16T15:01:00.000-07:00</published><updated>2010-09-16T15:01:57.844-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blogger'/><title type='text'>Eliminare la Navbar di blogger dal proprio blog</title><content type='html'>Se si vuole utilizzare la pagina del proprio blog come sito ufficiale, magari associando con reindirizzamento un dominio di primo livello, le operazioni da svolgere sono semplicissime. Basta acquistare il dominio mediante uno dei tanti fornitori del servizio (&lt;i&gt;personalmente consiglio Aruba.it&lt;/i&gt;) e reindirizzare la pagina.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Per chi utilizza la piattaforma Blogspot.com come il sottoscritto, può tornare esteticamente molto valida la scelta di far sparire la cosiddetta Navbar di blogger. Per configurare le proprie pagine con questa caratteristica è sufficiente effettuare una modifica manuale al template utilizzato, come segue :&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Accediamo alle impostazioni del Modello e selezioniamo Modifica HTML, quindi ricercare nella casella di testo contenente il template CSS del nostro modello, il seguente testo :&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;/* Variable definitions&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;è sufficiente immettere la seguente riga d'impostazione subito prima il commento citato, per far sparire la Navbar&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0c343d;"&gt;#navbar-iframe {&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0c343d;"&gt;display: none !important;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #0c343d;"&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-5157670925391039539?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/5157670925391039539/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/09/eliminare-la-navbar-di-blogger-dal.html#comment-form' title='1 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/5157670925391039539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/5157670925391039539'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/09/eliminare-la-navbar-di-blogger-dal.html' title='Eliminare la Navbar di blogger dal proprio blog'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-318839900878014409</id><published>2010-09-14T04:19:00.000-07:00</published><updated>2010-09-14T04:19:43.129-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='operatori c#'/><title type='text'>L' operatore Ternario "?"</title><content type='html'>In C# , l'operatore ternario "? :" è una forma sintetica dell'istruzione IF ... THEN ... ELSE e &amp;nbsp;viene spesso utilizzata per comodità al fine di semplificare il codice.&lt;br /&gt;&lt;br /&gt;Sintassi :&lt;br /&gt;&lt;i&gt;espressione1&lt;/i&gt; &amp;nbsp;? &amp;nbsp;&lt;i&gt;espressione2&lt;/i&gt; &amp;nbsp;: &amp;nbsp;&lt;i&gt;espressione3&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Corrispondente blocco IF ... THEN ... ELSE&lt;br /&gt;&lt;br /&gt;if ( &lt;i&gt;espressione1&lt;/i&gt; )&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;i&gt;espressione2&lt;/i&gt; ;&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;i&gt;espressione3&lt;/i&gt;;&lt;br /&gt;&lt;br /&gt;Segue un esempio pratico, per la determinazione su "c" del valore massimo fra "a" e "b"&lt;br /&gt;&lt;br /&gt;int a = 1;&lt;br /&gt;int b = 2;&lt;br /&gt;int c = 0;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;// condizione espressa nel modo tradizionale&amp;nbsp;&lt;/span&gt;&lt;br /&gt;if ( &lt;i&gt;a &amp;gt; b&lt;/i&gt; )&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;i&gt;c = a;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;else&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;i&gt;c = b;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;// stessa espressione con operatore ternario&amp;nbsp;&lt;/span&gt;&lt;br /&gt;c = (&lt;i&gt; a &amp;gt; b &lt;/i&gt;) &lt;b&gt;?&lt;/b&gt; &lt;i&gt;a&lt;/i&gt; &lt;b&gt;:&lt;/b&gt; &lt;i&gt;b&lt;/i&gt; ;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-318839900878014409?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/318839900878014409/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/09/l-operatore-ternario.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/318839900878014409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/318839900878014409'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/09/l-operatore-ternario.html' title='L&apos; operatore Ternario &quot;?&quot;'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-7190133656766049014</id><published>2010-09-08T02:51:00.000-07:00</published><updated>2010-09-08T02:52:15.397-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DevExpress'/><title type='text'>DevExpress.XtraGrid Aggiungere l'icona nell'Header</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_200WZcBDXvM/TIdcm-cVmWI/AAAAAAAAAVc/GLHuPltxmJQ/s1600/devexpress.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="125" src="http://2.bp.blogspot.com/_200WZcBDXvM/TIdcm-cVmWI/AAAAAAAAAVc/GLHuPltxmJQ/s400/devexpress.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Nell'utilizzo della griglia di DevExpress, quando si presenta l'esigenza di immettere elementi grafici all'interno dell'header di colonna, nonostante siano presenti le opportune property denominate :&lt;br /&gt;&lt;br /&gt;Es.&lt;br /&gt;GridView.AppearanceHeader [..] all'interno del quale sembra essere supportata la property Image&lt;br /&gt;&lt;br /&gt;il procedimento da adottare per raggiungere l'obiettivo è ben diverso : &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="font-family: Arial;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;1)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt; Aggiungere al controllo che contiene la GridControl, il componente : &lt;b&gt;DevExpress.Utils.ImageCollection&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="font-family: Arial;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;2)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt; Caricare la collezione di immagini da mettere a disposizione mediante la property &lt;/span&gt;&lt;span style="font-family: Arial; font-size: small;"&gt;&lt;b&gt;ImageCollection.Images&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;b&gt;&lt;span style="font-family: Arial;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;3) Impostare la property GridView.Images in modo da referenziare la ImageCollection&amp;nbsp; aggiunta &lt;br /&gt;4) Impostare nelle colonne interessate l'indice relativo all'immagine da immettere nell'header, sostituendo il valore di -1 al valore di indice a partire da zero&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-7190133656766049014?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/7190133656766049014/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/09/devexpressxtragrid-aggiungere-licona.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/7190133656766049014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/7190133656766049014'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/09/devexpressxtragrid-aggiungere-licona.html' title='DevExpress.XtraGrid Aggiungere l&apos;icona nell&apos;Header'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_200WZcBDXvM/TIdcm-cVmWI/AAAAAAAAAVc/GLHuPltxmJQ/s72-c/devexpress.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-3154986787147495197</id><published>2010-09-07T03:18:00.000-07:00</published><updated>2010-10-18T01:32:32.976-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Window7'/><title type='text'>Window7 - Cambiare la lettera assegnata all'unità Disco/CD/DVD</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_200WZcBDXvM/TIYRYG5FlxI/AAAAAAAAAVU/iHIUOKGCs_A/s1600/letteraunitadisco.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="219" src="http://2.bp.blogspot.com/_200WZcBDXvM/TIYRYG5FlxI/AAAAAAAAAVU/iHIUOKGCs_A/s640/letteraunitadisco.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Per gli utenti che approdano a Window7 per la prima volta,&amp;nbsp; può essere un piccolo dramma realizzare l'operazione di cambio lettera per l'unità disco o CD o DVD. &lt;br /&gt;In realtà è stata effettuata una riorganizzazione della pagina delle configurazioni, per accedere alla funzionalità è sufficiente aprire il "Pannello di Controllo" e seguire :&lt;br /&gt;&lt;br /&gt;Sistema e Sicurezza --&amp;gt; Strumenti di amministrazione --&amp;gt; Gestione Computer\ Archiviazione\Gestione Disco&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-3154986787147495197?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/3154986787147495197/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/09/window7-camgiare-la-lettera-assegnata.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/3154986787147495197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/3154986787147495197'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/09/window7-camgiare-la-lettera-assegnata.html' title='Window7 - Cambiare la lettera assegnata all&apos;unità Disco/CD/DVD'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_200WZcBDXvM/TIYRYG5FlxI/AAAAAAAAAVU/iHIUOKGCs_A/s72-c/letteraunitadisco.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-1230386809959725648</id><published>2010-08-04T01:39:00.000-07:00</published><updated>2010-08-04T01:39:15.516-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlServer'/><title type='text'>SqlServer 2008 - Impossibile accedere ai diagrammi del database</title><content type='html'>E' una delle problematiche ricorrenti ogni qualvolta si migra un database da un Server ad un altro, sfruttando le operazioni di BackUp e Restore di SqlServer. I diagrammi non si rendono modificabili in quanto sono assegnati ad un'utente con altre credenziali.&lt;br /&gt;&lt;br /&gt;Per la risoluzione del problema è sufficiente utilizzare il seguente comando :&lt;br /&gt;&lt;b&gt;ALTER AUTHORIZATION ON DATABASE&lt;/b&gt;::&lt;i&gt;&lt;b&gt;NomeDatabase&lt;/b&gt;&lt;/i&gt; TO &lt;i&gt;&lt;b&gt;sa&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;dove con NomeDatabase è il nome del database contenente i diagrammi da riattivare &lt;br /&gt;ed "sa" è l'utente definito per l'accesso su SqlServer per il nuovo Server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-1230386809959725648?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/1230386809959725648/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/08/sqlserver-2008-impossibile-accedere-ai.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/1230386809959725648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/1230386809959725648'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/08/sqlserver-2008-impossibile-accedere-ai.html' title='SqlServer 2008 - Impossibile accedere ai diagrammi del database'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-174606822264637497</id><published>2010-07-21T09:32:00.000-07:00</published><updated>2010-07-21T09:32:38.182-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EntityFramework'/><title type='text'>Accedere alle Entity transienti su EntityFramework 4</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Nell'esempio, si procede con la registrazione all'evento SaveChanging al fine di permettere l'accesso alle entity transienti di un Context per effettuare eventuali modifiche di pre-salvataggio.&amp;nbsp; &lt;i&gt;Esempio l'attribuzione di un valore su un campo Note, ecc...&lt;/i&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;&lt;br /&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;public partial class TestWorksEntities&lt;br /&gt;{&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; partial void &lt;b&gt;OnContextCreated()&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b style="color: #38761d;"&gt;// Ci si registra all'evento scatenato dal SaveChanges &lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.SavingChanges += new EventHandler(context_SavingChanges);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;b style="color: #38761d;"&gt;// metodo pilotato dall'evento di SaveChanges() &lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static void &lt;b&gt;context_SavingChanges(object sender, EventArgs e)&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Validate the state of each entity in the context&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // before SaveChanges can succeed.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (ObjectStateEntry entry in&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((ObjectContext)sender).ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Modified))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;b style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // entry.entity&amp;nbsp; da castare alla classe entity di riferimento per accedere alle property&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;"&gt;&lt;b style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // della classe transiente ed effettuare interventi prima del trasferimento sul db delle informazioni.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: x-small;"&gt;&lt;b style="color: #38761d;"&gt;&lt;br /&gt;&lt;/b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-174606822264637497?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/174606822264637497/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/07/accedere-alle-entity-transienti-su.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/174606822264637497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/174606822264637497'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/07/accedere-alle-entity-transienti-su.html' title='Accedere alle Entity transienti su EntityFramework 4'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-3787546055769604794</id><published>2010-07-19T09:44:00.000-07:00</published><updated>2010-07-19T09:44:57.811-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Main'/><category scheme='http://www.blogger.com/atom/ns#' term='Parametri'/><title type='text'>passare parametri/argomenti ad un'applicazione</title><content type='html'>Per passare argomenti da riga di comando ad un'applicazione sviluppata con .NET C# ,poichè il punto d'ingresso di un'aplicazione è il metodo Main, è sufficiente impostare come argomento dello stesso, un'array di stringhe :&lt;br /&gt;&lt;br /&gt;class TestClass&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; static void Main(string[] args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Visualizza su Console il numero di righe passate come argomento &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Console.WriteLine(args.Length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;quindi è sufficiente leggersi il contenuto dell'array di stringhe denominato args per ottenere la lista dei parametri passati all'applicazione. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;COSE DA RICORDARE IN MERITO : &lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Il metodo Main è il punto di ingresso di un programma EXE, ovvero il punto in cui il controllo del programma inizia e termina.&lt;/li&gt;&lt;li&gt;Main viene dichiarato all'interno di una classe o di uno struct.Main e deve essere statico e pubblico. Non è necessario che la classe o la struttura che lo contiene sia statica.&lt;/li&gt;&lt;li&gt;Main può restituire un handle di tipo int oppure un void&amp;nbsp;&lt;/li&gt;&lt;li&gt;Il metodo Main può essere dichiarato con o senza un parametro string[] contenente gli argomenti della riga di comando. Quando si utilizza Visual Studio per creare applicazioni Windows Form, è possibile aggiungere il parametro manualmente o utilizzare la classe Environment per ottenere gli argomenti della riga di comando.&lt;/li&gt;&lt;li&gt;I parametri vengono letti come argomenti della riga di comando a indice zero. &lt;/li&gt;&lt;li&gt;Diversamente da C e C++, il nome del programma non viene considerato il primo argomento della riga di comando.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-3787546055769604794?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/3787546055769604794/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/07/passare-parametriargomenti-ad.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/3787546055769604794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/3787546055769604794'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/07/passare-parametriargomenti-ad.html' title='passare parametri/argomenti ad un&apos;applicazione'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-4344036210986267215</id><published>2010-07-07T04:23:00.000-07:00</published><updated>2010-07-07T04:23:42.966-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Window7'/><title type='text'>Window7 - Cambiare la sola icona dei Preferiti</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_200WZcBDXvM/TDRjbs0jW8I/AAAAAAAAATg/mjGuzm9yZzg/s1600/preferiti.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_200WZcBDXvM/TDRjbs0jW8I/AAAAAAAAATg/mjGuzm9yZzg/s200/preferiti.gif" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Voglia di personalizzare il desktop del tuo Window7&lt;br /&gt;senza dovere necessariamente installare dei tools esterni?&lt;br /&gt;bene cominciamo con l'icona dei preferiti:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Mediante Start, mandare in esecuzione l'editor di registro : &lt;b&gt;RegEdit&lt;/b&gt;&lt;br /&gt;2. Posizionarsi nella chiave&lt;br /&gt;&lt;b&gt;"HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\DefaultIcon;"&lt;/b&gt;&lt;br /&gt;3. Fare Click destro su &lt;b&gt;DefaultIcon &lt;/b&gt;e selezionare &lt;b&gt;Autorizzazioni &lt;/b&gt;dal menu contestuale &lt;br /&gt;4. Cliccare su &lt;b&gt;Administrators&lt;/b&gt;, mettere la spunta sulla prima voce di menu &lt;b&gt;Consenti &lt;/b&gt;e confermare con &lt;b&gt;Ok&lt;/b&gt; per l’acquisizione dei diritti di modifica.&lt;br /&gt;&lt;br /&gt;5. Fare doppio click su (&lt;b&gt;Predefinito&lt;/b&gt;) nella parte destra dell’editor, quindi assegnargli come valore il percorso completo ed il nome dell’icona che si vuole utilizzare.&lt;br /&gt;&lt;br /&gt;6. L’icona verrà subito applicata alla cartella dei preferiti.&lt;br /&gt;&lt;br /&gt;Per ripristinare l’icona originale, è sufficiente cambiare il valore della chiave (predefinito) in &lt;b&gt;"%SystemRoot%\system32\imageres.dll,-1024"&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-4344036210986267215?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/4344036210986267215/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/07/window7-cambiare-la-sola-icona-dei.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/4344036210986267215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/4344036210986267215'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/07/window7-cambiare-la-sola-icona-dei.html' title='Window7 - Cambiare la sola icona dei Preferiti'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_200WZcBDXvM/TDRjbs0jW8I/AAAAAAAAATg/mjGuzm9yZzg/s72-c/preferiti.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-1678409733750286121</id><published>2010-06-30T08:50:00.000-07:00</published><updated>2010-06-30T08:51:14.946-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dictionary'/><title type='text'>Override del metodo Square Braset di un Dictionary</title><content type='html'>Come Wrappare un Dictionary in modo da sostituire il metodo [&lt;i&gt;Square Braset&lt;/i&gt;] per la ricerca &lt;br /&gt;degli elementi contenuti con la funzionalità &lt;b style="color: #660000;"&gt;se non esiste lo aggiungo&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;Esempio di applicazione del Dictionary wrappato&lt;/i&gt; : &amp;nbsp; &lt;b&gt;&lt;span style="color: blue;"&gt;myDictionary&lt;/span&gt;[chiave] = &lt;span style="color: #3d85c6;"&gt;myObject&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;public class &lt;span style="color: blue;"&gt;myDictionary &lt;/span&gt;: Dictionary&lt;string,&gt;&lt;span style="color: #3d85c6;"&gt;myObject&lt;/span&gt;&amp;gt;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public override &lt;span style="color: #3d85c6;"&gt;myObject &lt;/span&gt;this[String key]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; get&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( !this.ContainsKey(key) ) this.Add(key, new &lt;span style="color: #3d85c6;"&gt;myObject&lt;/span&gt;() );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this[key]; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private set&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this[key] = value;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;/string,&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-1678409733750286121?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/1678409733750286121/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/06/override-del-metodo-square-braset-di-un.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/1678409733750286121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/1678409733750286121'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/06/override-del-metodo-square-braset-di-un.html' title='Override del metodo Square Braset di un Dictionary'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-7756679536034294040</id><published>2010-06-29T10:31:00.000-07:00</published><updated>2010-07-01T10:12:51.800-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EntityFramework'/><title type='text'>Accedere alle Property di una Entity</title><content type='html'>Per ottenere la lista delle Property di un'Entity si procede istanziando un EntityType &lt;br /&gt;mediante il quale si potrà accedere alla collezione delle EdmProperty, ossia le EntityDomainModelProperty &lt;br /&gt;in questa collezione non sono disponibili le NavigationProperty che rappresentano le References&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;span style="font-size: x-small;"&gt;EntityType et = EntityFrameworkUtils.GetEntityType( {context}, {classEntity} );&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;Tutte le property dell'entity saranno accessibili mediante un loop foreach &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;foreach (EdmProperty pi in et.Properties)&lt;br /&gt;{&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // mediante EdmProperty posso accedere alle property &lt;/span&gt;&lt;br style="color: #38761d;" /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // si vogliono escludere dal controllo le propery ID o con prefisso ID in generale &lt;/span&gt;&lt;br style="color: #38761d;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pi.Name == "ID") continue;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color: #38761d;"&gt;// ID&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (pi.Name.StartsWith("ID")) continue;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style="color: #38761d;"&gt;// IDTableName&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (AuditableHelper.IsAuditableProperty(pi.Name)) continue;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #38761d;"&gt; // Saltiamo le property di auditing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // recupero il valore della property &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object valueSource = {classEntity}GetType().GetProperty(pi.Name, &lt;span style="color: #660000;"&gt;MemberAccess&lt;/span&gt;).GetValue({classEntity}, null);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #38761d;"&gt;// nella versione più breve è possibile non tenere in considerazione delle bindingFlag se la property è di tipo public&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // semplificando il codice come segue :&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Object valueSource2 =  {classEntity}GetType().GetProperty(pi.Name&lt;span style="color: #660000;"&gt;&lt;/span&gt;).GetValue({classEntity},  null);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt; &lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // procedo con l'assegnazione del valore alla property &lt;/span&gt;&lt;br style="color: #38761d;" /&gt;&lt;span style="color: #38761d;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // immaginiamo di conoscere una property [newValue] dello stesso tipo di [valueSource]&lt;/span&gt;&lt;br style="color: #38761d;" /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pi.SetValue({classEntity}, newValue, null);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public const BindingFlags &lt;span style="color: #660000;"&gt;MemberAccess &lt;/span&gt;=&amp;nbsp;&amp;nbsp;&amp;nbsp; BindingFlags.Public | BindingFlags.NonPublic |&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BindingFlags.Static | BindingFlags.Instance | BindingFlags.IgnoreCase;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-7756679536034294040?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/7756679536034294040/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/06/accedere-alle-property-di-una-entity.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/7756679536034294040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/7756679536034294040'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/06/accedere-alle-property-di-una-entity.html' title='Accedere alle Property di una Entity'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-6935833192897383577</id><published>2010-06-25T07:26:00.000-07:00</published><updated>2010-06-25T07:26:47.505-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlServer'/><title type='text'>SQLServer 2008 - Rinomina di un campo, Aggiunta di un campo</title><content type='html'>Se c'è l'esigenza di effettuare la rinomina di un campo è possibile adottare un'apposita StoreProcedure che permette specificando la tabella, il nome vecchio ed il nuovo nomecampo da assegnare di effettuare l'operazione.&lt;br /&gt;&lt;br /&gt;USE {&lt;span style="color: #3d85c6;"&gt;nomedatabase&lt;/span&gt;} &lt;br /&gt;GO &lt;br /&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;-- StoreProcedure per la rinomina di un campo di tabella &lt;/span&gt;&lt;br /&gt;sp_RENAME '&lt;span style="color: #990000;"&gt;tabella.NomeCampoOld&lt;/span&gt;' , '&lt;span style="color: #660000;"&gt;NomeCampoNew&lt;/span&gt;', 'COLUMN'&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #274e13;"&gt;-- Immaginiamo di volere aggiungere un nuovo campo di tipo VARCHAR(10) NULLABLE&lt;/span&gt;&lt;br /&gt;ALTER TABLE tabella ADD &lt;span style="color: #660000;"&gt;NuovoCampoDaAggiungere&lt;/span&gt; VARCHAR(10) NULL&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-6935833192897383577?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/6935833192897383577/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/06/sqlserver-2008-rinomina-di-un-campo.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/6935833192897383577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/6935833192897383577'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/06/sqlserver-2008-rinomina-di-un-campo.html' title='SQLServer 2008 - Rinomina di un campo, Aggiunta di un campo'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-2594052981075835051</id><published>2010-06-24T08:07:00.000-07:00</published><updated>2010-06-24T08:07:02.532-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EntityFramework'/><title type='text'>Generalizzare query per tutte le entità di un Context</title><content type='html'>&lt;div class="MsoNoSpacing"&gt;In un progetto che utilizza &lt;span class="SpellE"&gt;Entity&lt;/span&gt; &lt;span class="SpellE"&gt;Framework&lt;/span&gt;, si può avere la necessità di  generare un metodo che generalizzi la richiestaper qualunque entità mappata, al fine di  estrapolare il primo record valido.&lt;br /&gt;L’ipotesi di comodo è che tutte le entità implementino una classe  Business di Base che denomino “&lt;span class="SpellE"&gt;objectBaseClass&lt;/span&gt;”&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_200WZcBDXvM/TCN0f55PB7I/AAAAAAAAATQ/WwvSZjgURJ8/s1600/postcode.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="176" src="http://4.bp.blogspot.com/_200WZcBDXvM/TCN0f55PB7I/AAAAAAAAATQ/WwvSZjgURJ8/s640/postcode.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-2594052981075835051?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/2594052981075835051/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/06/generalizzare-query-per-tutte-le-entita.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/2594052981075835051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/2594052981075835051'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/06/generalizzare-query-per-tutte-le-entita.html' title='Generalizzare query per tutte le entità di un Context'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_200WZcBDXvM/TCN0f55PB7I/AAAAAAAAATQ/WwvSZjgURJ8/s72-c/postcode.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-4679991541513368118</id><published>2010-06-21T03:32:00.000-07:00</published><updated>2010-06-21T03:32:20.028-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Date'/><category scheme='http://www.blogger.com/atom/ns#' term='DateTime'/><title type='text'>Da numerico a DateTime</title><content type='html'>Capita spesso di trovarsi a dovere gestire delle date espresse in formato numerico al formato DateTime. Il criterio più efficace e rapido per tale conversione è costituito dal seguente comando:&lt;br /&gt;&lt;br /&gt;if ( data.Length ==8 )&lt;br /&gt;{ &lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="color: #3d85c6;"&gt;DateTime&lt;/span&gt; myData = System.DateTime.&lt;span style="color: #3d85c6;"&gt;ParseExact&lt;/span&gt;(dataNumerica, "&lt;span style="color: #990000;"&gt;yyyyMMdd&lt;/span&gt;", &lt;span style="color: #274e13;"&gt;System.Globalization.CultureInfo.InvariantCulture&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-4679991541513368118?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/4679991541513368118/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/06/da-numerico-datetime.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/4679991541513368118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/4679991541513368118'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/06/da-numerico-datetime.html' title='Da numerico a DateTime'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-3387159136261414126</id><published>2010-06-18T01:26:00.000-07:00</published><updated>2010-06-18T01:26:21.099-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SqlServer'/><title type='text'>Azzerare gli ID Identity dopo una cancellazione</title><content type='html'>Nel caso in cui si azzera una tabella sotto SqlServer e si desidera azzerare con la cancellazione anche il valore dei campi ID Identity della stessa. E' sufficiente mandare in esecuzione il seguente comando :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;DBCC &lt;/span&gt;&lt;span style="color: #3d85c6;"&gt;CHECKIDENT &lt;/span&gt;( '&lt;span style="color: red;"&gt;NomeDellaTabella&lt;/span&gt;',&lt;span style="color: #3d85c6;"&gt;RESEED&lt;/span&gt;, 0 )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-3387159136261414126?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/3387159136261414126/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/06/azzerare-gli-id-identity-dopo-una.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/3387159136261414126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/3387159136261414126'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/06/azzerare-gli-id-identity-dopo-una.html' title='Azzerare gli ID Identity dopo una cancellazione'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5032254923980467285.post-1192916286118687291</id><published>2010-06-16T10:42:00.000-07:00</published><updated>2010-06-16T10:47:26.909-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ado.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><title type='text'>Accesso a tabelle remote sotto SqlServer</title><content type='html'>&lt;span style="color: #3d85c6;"&gt;&lt;span style="color: black;"&gt;Esempio di utilizzo delle classi Ado.Net per stabilire una connessione ad un Server SQL 2008&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3d85c6;"&gt;&lt;span style="color: black;"&gt;ed impostare i DataAdapter, DataSet e DataTable per l'estrazione delle informazioni sui campi&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3d85c6;"&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;SqlConnection &lt;span style="color: black;"&gt;con &lt;/span&gt;= new SqlConnection(&lt;span style="color: black;"&gt;connString&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3d85c6; font-size: x-small;"&gt;&lt;span style="color: black;"&gt;con.Open(); &lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3d85c6; font-size: x-small;"&gt;string &lt;/span&gt;&lt;span style="font-size: x-small;"&gt;strSql = "";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3d85c6; font-size: x-small;"&gt;SqlDataAdapter &lt;/span&gt;&lt;span style="font-size: x-small;"&gt;dataAdapter = new &lt;/span&gt;&lt;span style="color: #3d85c6; font-size: x-small;"&gt;SqlDataAdapter&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #3d85c6; font-size: x-small;"&gt;DataSet &lt;/span&gt;&lt;span style="font-size: x-small;"&gt;dataSet = new &lt;/span&gt;&lt;span style="color: #3d85c6; font-size: x-small;"&gt;DataSet&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;strSql = "&lt;span style="color: #990000;"&gt;select * from dbo.TABELLA&lt;/span&gt;";&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;dataAdapter.SelectCommand = new SqlCommand(strSql, con); &amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;dataAdapter.Fill(dataSet, "&lt;span style="color: #990000;"&gt;TABELLA&lt;/span&gt;");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #3d85c6; font-size: x-small;"&gt;DataTable &lt;/span&gt;&lt;span style="font-size: x-small;"&gt;dt = dataSet.Tables["&lt;span style="color: #990000;"&gt;TABELLA&lt;/span&gt;"];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;foreach ( &lt;/span&gt;&lt;span style="color: #3d85c6; font-size: x-small;"&gt;DataRow &lt;/span&gt;&lt;span style="font-size: x-small;"&gt;row in dt.Rows)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #3d85c6; font-size: x-small;"&gt;String&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; valoreCampo = row["&lt;span style="color: #990000;"&gt;NOMECAMPO&lt;/span&gt;"].ToString();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5032254923980467285-1192916286118687291?l=mapo4net.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mapo4net.blogspot.com/feeds/1192916286118687291/comments/default' title='Commenti sul post'/><link rel='replies' type='text/html' href='http://mapo4net.blogspot.com/2010/06/accesso-tabelle-remote-sotto-sqlserver.html#comment-form' title='0 Commenti'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/1192916286118687291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5032254923980467285/posts/default/1192916286118687291'/><link rel='alternate' type='text/html' href='http://mapo4net.blogspot.com/2010/06/accesso-tabelle-remote-sotto-sqlserver.html' title='Accesso a tabelle remote sotto SqlServer'/><author><name>Marcello Salamone</name><uri>http://www.blogger.com/profile/00953050830769334929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_200WZcBDXvM/TH1uyp06DRI/AAAAAAAAAUM/ag-eoay0BeU/S220/mapoisback.jpg'/></author><thr:total>0</thr:total></entry></feed>
