<?xml version="1.0" encoding="iso-8859-15"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>blogs.ASPItalia.com</title><link>http://blogs.aspitalia.com/sm15455/</link><description>blogs.ASPItalia.com</description><language>it-it</language><managingEditor>noreply(at)aspitalia.com(blogs.ASPItalia.com)</managingEditor><webMaster>daniele(at)aspitalia.com(Daniele Bochicchio)</webMaster><copyright>1998-2008 ASPItalia.com/blogs.ASPItalia.com</copyright><generator>Generated by feed.ASPItalia.com 'Caesar' 2008.12.3</generator><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><sy:updateBase>1998-01-01T12:00+00:00</sy:updateBase><image><title>blogs.ASPItalia.com</title><url>http://gui.aspitalia.com/images/aspitalia_syndication.gif</url><link>http://blogs.aspitalia.com/sm15455/</link></image><item><title>Entity Framework e le cancellazioni a cascata</title><link>http://blogs.aspitalia.com/sm15455/post2435/Entity-Framework-Cancellazioni-Cascata.aspx</link><pubDate>Fri, 28 Nov 2008 01:36:35 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2435' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Sono masochista oltre ogni limite: utilizzo Entity Framework e non uso il designer. Non &amp;#232; un problema di funzionamento del tool, &amp;#232; che ormai la struttura degli XML, seppur difficile all'inizio, mi &amp;#232; chiara e poi sono sempre i soliti 4 nodi che devo usare e grazie all'intellisense in Visual Studio &amp;#232; anche piuttosto facile.&lt;/p&gt; &lt;p&gt;Stasera per fare una prova ho voluto usare il tool visuale. Dopo aver creato la classica situazione ordini-dettagli, mi accorgo che se cancello un'ordine senza aver caricato i dettagli la cancellazione scoppia. Subito penso ad un problema di foreign key sul db, ed infatti il problema risiedeva li. tutto bello aggiorno il modello e noto che nella sezione del ssdl la delete cascade &amp;#232; fedelmente riportata. &lt;/p&gt; &lt;p&gt;Riprovo e ricevo ancora errore e qui comincio ad interrogarmi perch&amp;#232; non capisco il problema. Alla fine scopro che pur aggiornando il modello, nel ssdl la delete-cascad veniva corretaente riportata, menre nel csdl no, lasciando un bel buco aperto. La soluzione per me &amp;#232; stata semplice perch&amp;#232; ho cancellato il file edmx e l'ho ricreato; per quelli che non possono permettersi di fare una cosa del genere, ricordatevi di aggiornare a mano il csdl.&lt;/p&gt; &lt;p&gt;&lt;code&gt;&lt;/p&gt; &lt;p&gt;&amp;lt;Association Name=&amp;quot;FK_OrderDetail_Order&amp;quot;&amp;gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;End Role=&amp;quot;Order&amp;quot; Type=&amp;quot;EFInactionOrdersModel.Store.Order&amp;quot; Multiplicity=&amp;quot;1&amp;quot;&amp;gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;OnDelete Action=&amp;quot;Cascade&amp;quot; /&amp;gt; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/End&amp;gt; &lt;/p&gt; &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; ...&lt;/p&gt; &lt;p&gt;&amp;lt;/Association&amp;gt;&lt;/p&gt; &lt;p&gt;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;Stay Tuned...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ADO.NET_Entity_Framework/" rel="tag"&gt;ADO.NET Entity Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/XML/" rel="tag"&gt;XML&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>.NET, .NET Framework 3.5, ADO.NET Entity Framework, LINQ, XML</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2435/Entity-Framework-Cancellazioni-Cascata.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2435/Entity-Framework-Cancellazioni-Cascata.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2435.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2435</trackback:ping></item><item><title>Entity Framework vNext</title><link>http://blogs.aspitalia.com/sm15455/post2425/Entity-Framework-VNext.aspx</link><pubDate>Wed, 29 Oct 2008 16:16:33 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2425' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Ieri pomerggio l'ulimo slot &amp;#232; stato dedicato a Entity Frameork vNext. Devo dire che le novit&amp;#224; sembrano molto interessanti. A parte il supporto per la Persistence Ignorance che era una cosa nota, ci sono altre caratteristiche che saltano agli occhi.&lt;/p&gt; &lt;p&gt;La prima &amp;#232; il supporto di un modello di sviluppo EDM-free. praticamente si generano le classi POCO. poi nell'objectcontext si mappano le classi al database attraverso degli attributi e i file di mapping di EF vengono generati a run-time. Questo consente di generare classi in maniera semplice senza avere nessun riferimento al db e di lasciare tutto il mapping ad EF. Non so onestamente come si gestiscono feature come l'ereditariet&amp;#224;, ma vedremo. questo approccio &amp;#232; sicuramente interessante quando il domain model &amp;#232; molto semplice.&lt;/p&gt; &lt;p&gt;Un'altro scenario supportato dal designer &amp;#232; quello di disegnare visualmente le classi e generare direttamente il database dalla loro struttura. Ad ogni cambiamento delle classi si da ora a possibilit&amp;#224; di allineare il database, Questa cosa mi piace di meno perch&amp;#232; la vedo pericolosa, ma comunque in uno scenario di Domain-Model first ha il suo perch&amp;#232;.&lt;/p&gt; &lt;p&gt;Il lazy loading viene ora implementato in maniera trasparente impostando la propriet&amp;#224; deferredloadingenabled dell'objectcontext a true (non ricorda vagamente linq to sql?). Ovviamente, per mantenere la compatibilit&amp;#224;, questa propriet&amp;#224; di default &amp;#232; a false e va impostata oni volta a true (se se ne ha bisogno).&lt;/p&gt; &lt;p&gt;Insomma, Entity Framework sembra diventare sempre pi&amp;#249; potente. Se alcuni problemi di mapping verranno risolti ed il designer viene reso stabile, penso che avremo per le mani un gran bel prodotto pronto per competere con tutti gli altri.&lt;/p&gt; &lt;p&gt;Stay Tuned...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ADO.NET_Entity_Framework/" rel="tag"&gt;ADO.NET Entity Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ORM/" rel="tag"&gt;ORM&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/PDC_2008/" rel="tag"&gt;PDC 2008&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>PDC 2008, .NET Framework 3.5, ADO.NET Entity Framework, LINQ, ORM</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2425/Entity-Framework-VNext.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2425/Entity-Framework-VNext.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2425.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2425</trackback:ping></item><item><title>Cache a tutta Velocity</title><link>http://blogs.aspitalia.com/sm15455/post2423/Cache-Velocity.aspx</link><pubDate>Wed, 29 Oct 2008 00:26:54 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2423' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Titolo banalissimo ma la giornata l'ho dedicata a Velocity. Visto che oggi &amp;#232; stata anche rilasciata la CTP2 perch&amp;#232; non dargli una vera occhiata da vicino. La prima sessione ha mostrato quello che gi&amp;#224; si sapeva dalla CTP1 ovvero la suddivisione in l'architettura di base che ogni developer deve conoscere per usare velocity, mentre la seconda ha mostrato la vera potenza di questo framework di caching. Infatti sono state mostrate alcune cose che spiegano come il prodotto sia ben fatto.&lt;/p&gt; &lt;p&gt;Innanzitutto c'&amp;#232; una gestione dei lock, quindi si possono recuperare oggetti e loccarli fino al rilascio o alla scadenza di un tempo (Ovviamente ci sono 2 API distinte una per recuperare i dati senza lockare e un aper locckare). Quello che pi&amp;#249; mi piace &amp;#232; il lock ottimistico dei dati. Ogni dato in cache ha un numero di versione e quindi se lo si recupera e poi riaggiorna, ma nel frattempo qualche altro processo ha modificato il dato nella cache, l'aggiornamento&amp;#160; va male. Insomma un locking ottimistico come sul database.&lt;/p&gt; &lt;p&gt;La replicazione della cache &amp;#232; fantastica in quanto avviene in un thread separato e quindi le performance dell'applicazione non vengono intaccate. Ovviamente in caso di caduta di un nodo, i dati sono replicati e velocity &amp;#232; in grado di recuperare comunque i dati senza causare problemi all'applicazione che rimane &amp;quot;ignorante&amp;quot; da questi problemi. Ovviamente velocity pu&amp;#242; essere usato anche in locale e vedendo come la cache di ASP.NET cede di fronte a carichi elevati, questa &amp;#232; una buona cosa.&lt;/p&gt; &lt;p&gt;La cosa che comunque pi&amp;#249; mi piace &amp;#232; che gli oggetti possono essere ritrovati usando LINQ. Sebbene questa cosa era scontata, la cosa bella &amp;#232; che la ricerca avviene tramite un provider che implementa IQueryable&amp;lt;T&amp;gt; e non tramite la classica ricerca IEnumerable&amp;lt;T&amp;gt;.&lt;/p&gt; &lt;p&gt;Naturalmente, Velocity usa WCF come meccanismo di trasporto quindi ho qualche dubbio sulle performance reali, ma stando alle statistiche che hanno mostrato sembra che abbiano trovato la chiave per spingere sull'accelleratore.&lt;/p&gt; &lt;p&gt;Che dire Velocity sembra promettente, speriamo bene :)&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;Stay tuned...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Cache/" rel="tag"&gt;Cache&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/PDC_2008/" rel="tag"&gt;PDC 2008&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Architettura/" rel="tag"&gt;Architettura&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>PDC 2008, Cache, Architettura</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2423/Cache-Velocity.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2423/Cache-Velocity.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2423.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2423</trackback:ping></item><item><title>Svelato il C# 4.0 alla PDC</title><link>http://blogs.aspitalia.com/sm15455/post2417/Svelato-CSharp-4.0-PDC.aspx</link><pubDate>Mon, 27 Oct 2008 22:12:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2417' border="0" style="width:1px; height:1px;" /&gt;
&lt;p&gt;I tre mariachi stanno seguendo in questo momento la sessione sul C# 
4.0 alla PDC. Come sempre Anders Hejsberg è il mattatore della scena e sta 
spiegando il futuro come solo il papà del linguaggio sa fare. &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Le novità sono molto interessanti.&lt;/p&gt;
&lt;p&gt;La principale, come tutti sanno, è che il C# supporterà i linguaggi dinamici 
attraverso una nuova parola chiave dynamic. Questa è una piccola svolta nel 
mondo statico del C#, infatti d'ora in poi potremo aggiungere nuove proprietà a 
qualunque classe direttamente a runtime. Sinceramente questa cosa non dico che è 
una mezza schifezza, ma come minimo mi lascia perplesso. Non dubito che i 
linguaggi dinamici abbiano una loro posizione, ma fino ad adesso non mi è mai 
capitato di avere bisogno di questa feature nelle mie applicazioni. 
Vedremo...&lt;/p&gt;

&lt;p&gt;Un'altra importante novità è la riscrittura del compilatore che adesso 
diventa un servizio (Compiler as a Service mi dice Ughetto) che espone le 
porprie API permettendo una nuova serie di funzionalità  e la semplificazione di 
alcune esistenti. Adesso potremo scrivere codice C# in una stringa ed eseguirla 
a runtime evitando di usare la reflection. Insomma se non si era ancora capito, 
la tipizzazione sembra diventare sempre meno importante. :)&lt;/p&gt;


&lt;p&gt;Poi c'è la covarianza per quanto riguarda le liste di oggetti. Non è che ci ho onestamente capito molto, quindi aspetto Cristian che sicuramente saprà spiegare meglio di me :).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;L'ultima novità che mi ricordo riguarda la possibilità di assegnare un valore 
di default ai parametri delle funzioni e di poter passare alle funzioni i 
parametri specificando il nome. Quest significa che se una funzione accetta 10 
parametri, ma ne dobbiamo passare solo 2 e gli altri possono mantenere quello di 
default possiamo scrivere qualcosa del genere: Call(par1: &amp;quot;Valore&amp;quot;, par2: 
2); &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Insomma niente di particolarmente emozionante, io non vedo molto bene la 
mancanza di tipizzazione. Che ci volete fare, già solo vedere che la dinamicità 
in C# è abbilitata grazie ad una classe statica che si chiama Dynamic non è il 
massimo :)&lt;/p&gt;

&lt;p&gt;Stay tuned...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework/" rel="tag"&gt;.NET Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_4.0/" rel="tag"&gt;.NET Framework 4.0&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/PDC_2008/" rel="tag"&gt;PDC 2008&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>PDC 2008, .NET Framework, .NET Framework 4.0</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2417/Svelato-CSharp-4.0-PDC.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2417/Svelato-CSharp-4.0-PDC.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2417.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2417</trackback:ping></item><item><title>Chi si ricorda dei DataSet?</title><link>http://blogs.aspitalia.com/sm15455/post2402/Ricorda-DataSet.aspx</link><pubDate>Wed, 08 Oct 2008 20:04:38 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2402' border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Mi ricordo le prime demo che ho visto riguardo al .NET. Per l'accesso ai dati il DataSet sembrava l'autentica panacea per tutti i mali. A distanza di ormai 7 anni (un'infinit&amp;#224; in termini informatici), i DataSet sono diventati il male impersonificato. &lt;/p&gt; &lt;p&gt;Fondamentalmente questo &amp;#232; quanto di meglio potesse accadere per certi tipi di applicazioni, ma parliamoci chiaro, in Italia si fanno una miriade di piccole-medie applicazioni che non hanno alcuna complessit&amp;#224; e che quindi non trarrebbero vantaggio alcuno dall'uso di un bel domain model con un datalayer che persiste tramite ORM o a mano. In questi casi i DataSet non sono solo la linea pi&amp;#249; veloce, ma anche quella pi&amp;#249; giusta. Se una piccola applicazione &amp;#232; pagata poco o necessit&amp;#224; di essere sviluppata in poco tempo, i DataSet offrono quella velocit&amp;#224; di sviluppo e semplicit&amp;#224; di apprendimento che un'applicazione con domain model non offre. &lt;/p&gt; &lt;p&gt;Insomma tutto questo discorso per dire che per la voglia di sfighettare, si finisce spesso per costruire dei castelli quando basterebbe un appartamento da 50Mq. Ho visto un'applicazione scritta con domain model che gestisce solo 4/5 entit&amp;#224; e richiede quindi almeno il doppio del codice rispetto al dataset. Per carit&amp;#224;, l'applicazione &amp;#232; performante e bella da vedere, ma con i dataset la si faceva ancora in quasi met&amp;#224; tempo e senza grandi sforzi. La domanda interessante e che quando ho chiesto il perch&amp;#232; di questa scelta la risposta &amp;#232; stata: &amp;quot;i dataset sono il male, fare un tree tier aiuta a mantenere tutto pulito&amp;quot;. Ineccepibile, se non fosse che per finire l'applicazione ci hanno messo 5 giorni in pi&amp;#249; in 2 persone. &lt;/p&gt; &lt;p&gt;Il consiglio &amp;#232; sempre lo stesso: fidatevi ancora dei dataset. Non hanno un campo di applicazione ampio, ma ce l'hanno e forse potrebbe essere proprio il vostro :D.&lt;/p&gt; &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;p&gt;Stay tuned...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ADO.NET/" rel="tag"&gt;ADO.NET&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Architettura/" rel="tag"&gt;Architettura&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ORM/" rel="tag"&gt;ORM&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Pattern/" rel="tag"&gt;Pattern&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>Design Patterns, ADO.NET, Architettura, ORM, Pattern</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2402/Ricorda-DataSet.aspx</guid><slash:comments>12</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2402/Ricorda-DataSet.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2402.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2402</trackback:ping></item><item><title>Il mio primo libro in inglese: Entity Framework In Action</title><link>http://blogs.aspitalia.com/sm15455/post2375/Libro-Inglese-Entity-Framework-Action.aspx</link><pubDate>Thu, 28 Aug 2008 10:12:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2375' border="0" style="width:1px; height:1px;" /&gt;Sono mesi che ci sto lavorando e finalmente il risutato si vede. Ormai tutto è pronto quindi posso annunciare che dopo &lt;a href="http://books.aspitalia.com/ASP.NET-3.5/"&gt;ASP.NET 3.5 per tutti&lt;/a&gt;, partirò con la stesura del mio primo libro da &amp;quot;single&amp;quot; in inglese: Entity Framework In Action.&lt;br /&gt;&lt;br /&gt;Come si intuisce dal titolo, il libro è pubblicato dalla &lt;a target="_blank" href="http://www.manning.com"&gt;Manning&lt;/a&gt;. Molti mi hanno sconsigliato di scrivere un libro su questo argomento vista la grande impopolarità di Entity Framework. Io rimango della mia idea che seppur limitato da alcune scelte di design, che verranno in parte migliorate nella v2, questo framework ha un engine molto potente ed in futuro dirà la sua contro colossi come NHibernate (visto anche che è incluso nel framework). &lt;br /&gt;&lt;br /&gt;Confesso di essere un tantinello terrorizzato perchè scrivere un libro in inglese che verrà letto in tutto il mondo è una cosa non proprio semplice da affrontare, ma ormai come mi ha detto &lt;a href="http://blogs.aspitalia.com/daniele"&gt;Daniele&lt;/a&gt; &amp;quot;hai voluto la bicicletta ...&amp;quot; :).&lt;br /&gt;&lt;br /&gt;Chiudo con i ringraziamenti d'obbligo ad &lt;a target="_blank" href="http://aspadvice.com/blogs/garbin/"&gt;Alessandro&lt;/a&gt;, lui sa benissimo il perché.  Ora non mi rimane che buttarmi a capofitto nella stesura del libro, sperando di riuscire a convincere la gente che in realtà Entity Framework non è così malaccio come si dice :).&lt;br /&gt;&lt;br /&gt;Stay Tuned...&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework/" rel="tag"&gt;.NET Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ADO.NET_Entity_Framework/" rel="tag"&gt;ADO.NET Entity Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ORM/" rel="tag"&gt;ORM&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>Entity Framework In Action, .NET Framework, .NET Framework 3.5, ADO.NET Entity Framework, LINQ, ORM</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2375/Libro-Inglese-Entity-Framework-Action.aspx</guid><slash:comments>12</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2375/Libro-Inglese-Entity-Framework-Action.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2375.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2375</trackback:ping></item><item><title>ASP.NET 3.5 per tutti &amp;#232; un nuovo libro</title><link>http://blogs.aspitalia.com/sm15455/post2353/ASP.NET-3.5-Libro.aspx</link><pubDate>Mon, 04 Aug 2008 13:51:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2353' border="0" style="width:1px; height:1px;" /&gt;Come già &lt;a href="http://blogs.aspitalia.com/daniele/"&gt;Daniele&lt;/a&gt; e &lt;a href="http://blogs.aspitalia.com/rickyvr/"&gt;Ricky&lt;/a&gt; &lt;a href="http://blogs.aspitalia.com/daniele/post2303/Imminente-Libro-Prenotazione-ASP.NET-3.5.aspx"&gt;hanno&lt;/a&gt; &lt;a href="http://blogs.aspitalia.com/rickyvr/post2305/Arriva-ASP.NET-3.5-Tutti.aspx"&gt;detto&lt;/a&gt;, il nostro nuovo &lt;a href="http://books.aspitalia.com/ASP.NET-3.5/"&gt;libro&lt;/a&gt; è già in fase avanzata. Quello che tutti e due hanno detto è che questa non sarà una riedizione riveduta, corretta e ampliata per venire incontro alle novità di ASP.NET 3.5.&lt;br /&gt;Oltre che a ribadire il concetto voglio anche portare altre prove: l'accesso ai dati ora consiste di 4 capitoli solo per dire come si può accedere, per come trattarli e visualizzarli ce ne sono altri 4. Quando si parla di LINQ To SQL, non si parla in termini di wizard e drag&amp;amp;drop delle tabelle, bensì si parla di come creare le classi a mano, di come si mappano verso il db, di come si gestisce la concorrenza, di come si invocano le stored procedure, insomma si affronta LINQ To SQL da un punto di vista dell'utilizzo reale e non da quello puramente demo dell'editor visuale. Dopo l'esperienza in &lt;a href="http://community.mtv.it"&gt;MTV&lt;/a&gt;, posso garantire che chi continua ad usare LINQ To SQL a colpi di editor e Drag&amp;amp;Drop prima o poi la pagherà cara.&lt;br /&gt;Nel capitolo della localizzazione ci saranno 3 pagine nuove dedicate alla costruzione di un provider custom per le risorse che attinge dal database. Nel capitolo sul deploy ci saranno distinzioni per ASP.NET 1.x, 2.0 e 3.5.&lt;br /&gt;E poi signori&lt;br /&gt;Insomma, abbiamo dato ascolto a tutte le cose buone come a tutte le critiche che ci sono arrivate ed alla fine abbiamo partorito un libro che nel panorama è l'unico ad affrontare linguaggi, svilluppo, sicurezza, e deploy a partire dalla 1.0 per finire alla 3.5.&lt;br /&gt;&lt;br /&gt;E poi volete perdervi il gusto di leggere in prima assoluta un capitolo intero su ASP.NET MVC? ;)&lt;br /&gt;&lt;br /&gt;Stay Tuned...&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ASP.NET_3.5_per_tutti/" rel="tag"&gt;ASP.NET 3.5 per tutti&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>ASPItalia.com, ASP.NET 3.5 per tutti</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2353/ASP.NET-3.5-Libro.aspx</guid><slash:comments>10</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2353/ASP.NET-3.5-Libro.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2353.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2353</trackback:ping></item><item><title>ASP.NET Ajax Roadmap</title><link>http://blogs.aspitalia.com/sm15455/post2339/ASP.NET-Ajax-Roadmap.aspx</link><pubDate>Mon, 21 Jul 2008 12:52:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2339' border="0" style="width:1px; height:1px;" /&gt;Ad inizio mese, Microsoft ha rilasciato un documento sulla roadmap che intende seguire per migliorare il proprio framework per AJAX. La versione 1.0 è ormai abbastanza stabile grazie alle correzioni fatte con la versione integrata nel framework 3.5 e quindi è ora di guardare avanti.&lt;br /&gt;Chi ha seguito ASP.NET Ajax sin dai tempi in cui si chiamava Atlas sa bene che quello che è stato partorito da MS è un topolino di fronte alla quantità enorme di feature comprese nelle prime CTP. Questo è andato a vantaggio di una maggior stabilità ma a discapito di una serie di funzionalità assolutamente necessarie per sviluppare una vera applicazione AJAX. Infatti, la parte client del framework è estremamente scarna in quanto contiene fondamentalmente solo uno strato di astrazione per rendere le API Cross-Browser e qualche funzione.&lt;br /&gt;Adesso le cose cambiano. L'intenzione è quella di reintrodurre il meccanismo di templating e di databinding one-way e two-way in maniera però completamente diversa rispetto a quanto fatto vedere nelle prime CTP dove il tutto era troppo complicato e lento. Inoltre hanno l'intenzione di creare un motore di interrogazione per il DOM molto simile a JQuery.&lt;br /&gt;Insomma, le premesse sono più che buone perchè quello che vogliono fare è rendere ASP.NET Ajax un framework serio e se mantengon oquello che dicono, credo che dovrò rivedere un pò le mie idee e soprattutto il modo in cui ho scritto alcune applicazioni. :)&lt;br /&gt;&lt;br /&gt;Stay Tuned...&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/AJAX/" rel="tag"&gt;AJAX&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_2.0/" rel="tag"&gt;ASP.NET 2.0&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_AJAX/" rel="tag"&gt;ASP.NET AJAX&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>ASP.NET, AJAX, ASP.NET 2.0, ASP.NET AJAX</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2339/ASP.NET-Ajax-Roadmap.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2339/ASP.NET-Ajax-Roadmap.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2339.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2339</trackback:ping></item><item><title>Entity Framework ed il mapping</title><link>http://blogs.aspitalia.com/sm15455/post2326/Entity-Framework-Mapping.aspx</link><pubDate>Mon, 14 Jul 2008 22:34:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2326' border="0" style="width:1px; height:1px;" /&gt;Ormai utilizzo Entity Framework da quasi un anno, e presso un cliente lo sto facendo adottare perchè questo vuole utilizzare solo tecnlogia proprietaria Microsoft. LINQ To SQL non è abbastanza potente quindi la scelta è ovvia.&lt;br /&gt;Quando mi ritrovo a spiegare Entity Framework l'argomento più complicato non è l'Object Tracking o il supporto per scenari su più layer, logici o fisici che siano, o l'EntitySql; l'argomento più complesso è il Mapping. Senza dubbio il mapping in un ORM è il concetto più semplice da capire, ma con Entity Framework nonostante il facile compito si è riusciti a colpire la classica mosca col bazzuca, ma tant'è e così ce lo teniamo.&lt;br /&gt;All'inizio, ho utilizzato il designer in ctp ma la mia voglia di imparare era tale che dopo pochi giorni sono passato direttamente a fare le cose a manina. Passare da dei tool che ti creano tuto da video a scrivere un xml a mano è pura follia, ma ormai non riesco a farne a meno, il designer proprio non lo so usare :)&lt;br /&gt;Alla lunga però paga perchè scrivere il mapping a mano e verificare gli errori fa capire quali sono le necessità di Entity Framework e fa più o meno intuire come lavora il motore. &lt;br /&gt;Ai Community Days, stavo impazzendo con Roberto perchè lui non riusciva a riprodurre l'ereditarietà Table Per Type e io invece.... nemmeno :). Lui utilizzava il tool e io non sapevo nemmeno cosa stesse facendo quindi mi sono buttato sul file XML. Dopo un vago girare a vuoto, mi sono accorto che nel file SSDL (quello della descrizione dello storage e occhio ho detto storage e non database) non c'era la descrizione dell'associazione tra la tabella primaria e quella secondaria con i campi aggiuntivi. Dimenticando di descrivere quest'associazione, Entity Framework non sapeva come mettere in join le tabelle e generava un'eccezione. Qui si scatena un putiferio; le eccezioni di mapping sono la cosa più oscura del mondo; per la semplice mancanza dell'associazione siamo finiti per avere un messaggio di perdita di dati dovuta alla non conoscenza del lato C della tabella padre. Pensandoci bene, uno particolarmente malato forse potrebbe anche arrivare a capire l'errore ma non sono molto fiducioso.&lt;br /&gt;&lt;br /&gt;Insomma, tutto questo per dire una cosa: fatevi i file XML a mano. Probabilmente la prima settimana riuscirete a mappare solo 4 tabelle sulle classi analoghe sputando anche svariato sangue, ma state tranquilli che lo sforzo verrà ampiamente ripagato dopo poco tempo. Personalmente adoro questa piccola &lt;a href="code.msdn.microsoft.com/EFMappingHelper "&gt;applicazione&lt;/a&gt; che è una miniera di informazioni per il mapping.&lt;br /&gt;&lt;br /&gt;Stay Tuned...&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ADO.NET_Entity_Framework/" rel="tag"&gt;ADO.NET Entity Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ORM/" rel="tag"&gt;ORM&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ_to_SQL/" rel="tag"&gt;LINQ to SQL&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>LINQ, ADO.NET Entity Framework, ORM, .NET Framework 3.5, LINQ to SQL</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2326/Entity-Framework-Mapping.aspx</guid><slash:comments>2</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2326/Entity-Framework-Mapping.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2326.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2326</trackback:ping></item><item><title>Community Days 2008: il giorno dopo</title><link>http://blogs.aspitalia.com/sm15455/post2320/Community-Days-2008-Giorno.aspx</link><pubDate>Fri, 11 Jul 2008 12:17:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2320' border="0" style="width:1px; height:1px;" /&gt;A distanza di ormai 15 ore dalla chiusura dei fantastici Community Days 2008 mi ritrovo a scrivere le mie impressioni.&lt;br /&gt;&lt;br /&gt;Innanzitutto l'agenda. Ricordo nel lontano mese di Maggio davanti ad una pizza 4 loschi individui: io, &lt;a href="http://blogs.aspitalia.com/daniele"&gt;Daniele&lt;/a&gt;, &lt;a href="http://blogs.ugidotnet.org/pape"&gt;Andrea&lt;/a&gt; ed &lt;a href="http://blogs.aspitalia.com/imperugo"&gt;Ugo&lt;/a&gt;. Lo scopo della cena era quello di mantenere la concentrazione per più di 20 minuti consecutivi per stabilire le track. A fine serata convinsero le idee di: Andrea per la track Underground, mia e di Daniele per server Infrastructure+Application Development, tutti SP1+Tutorial. Direi che nel complesso l'impostazione generale è venuta piuttosto bene e dalla risposta del pubblico direi che almeno per stavolta possiamo autodarci una pacca sulla spalla :D.&lt;br /&gt;&lt;br /&gt;Passiamo alle sessioni. Innanzitutto spaziale quella di &lt;a href="http://blogs.aspitalia.com/nostromo/"&gt;Marco&lt;/a&gt; e &lt;a href="http://blogs.aspitalia.com/novecento"&gt;Alessio&lt;/a&gt;; non l'ho vista ma ci fosse stata una sola persona di quelle presenti che mi ha detto il contrario (ed erano in tanti). Alla prima esperienza si sono subito fatti trovare pronti. Che dire: eccezionali. Un grande complimento va a &lt;a href="http://blogs.aspitalia.com/ricciolo"&gt;Cristian&lt;/a&gt; che, grazie alla sessione che Daniele gli ha ammollato, è riuscito ad avere un bellissimo feedback :D. Non parliamo della sua in 3D dove ha fatto iperfaville (trigonometria applicata a parte). &lt;a href="http://blogs.aspitalia.com/rickyvr/"&gt;Ricky&lt;/a&gt; semplicemente fantastico, nono ho seguito nemmeno la sua di sessione, ma da quando è finita a quando la gente l'ha lasciato andare sono passati quasi 40 minuti e questo è indice di alto gradimento. Poi ci sono io con le mie 3 sessioni. Quella su ASP.NET presa in ereditarietà da Daniele è stata iperdivertente quanto faticosa, parlare dei DynamicData e di Routing per 90 minuti è stata una cosa faticosa ma che ha prodotto ottimi risultati. A quella sulla sicurezza con WCF eravamo pochi intimi ma quei pochi mi sembra abbiano apprezzato. Per quella sulle applicazioni web-service based devo dire che Ugo mi ha dato soddisfazione. Alla sua prima esperienza era talmente teso che all'inizio non riusciva nemmeno ad alzare la testa ma una volta che si è sciolto ha parlato di Dependency Injection come in pochi sanno fare. Inoltre, farla vedere la DI applicata alla pipeline di WCF per risparmiare centinaia di righe di codice ripetitivo, dire che queste cose le abbiamo sviluppate noi e che sono in produzione sul sito di MTV da un gusto particolare :). La sessione sicuramente meglio riuscita IMHO. E poi Ugo è maschio si sa :).&lt;br /&gt;&lt;br /&gt;Non ho seguito quasi nessuna sessione, a parte un pezzo di quella su Entity Framework e un pezzo sulle architetture, ma ho sentito parlare la gente ed ho capito che in generale sono tutti rimasti estremamente soddisfatti di qualunque cosa abbiano visto.&lt;br /&gt;&lt;br /&gt;Infine una menzione per chi è rimasto fuori: a &lt;a href="http://blogs.ugidotnet.org/topics/"&gt;Mauro&lt;/a&gt; per il Context (lui sa perchè), a &lt;a href="http://blogs.ugidotnet.org/robymes"&gt;Roberto&lt;/a&gt; per la discussione (che spero andrà avanti) su Entity Framework, ad &lt;a href="http://blogs.ugidotnet.org/box/"&gt;Alessandro&lt;/a&gt; per il suo caro termine &amp;quot;picchiare&amp;quot;, Raf, Gab, Pietro, Mighell, Lica, Lorenzo alle Bahamas e a tutti coloro che non ho nominato per mancanza di memoria.&lt;br /&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>Eventi</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2320/Community-Days-2008-Giorno.aspx</guid><slash:comments>1</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2320/Community-Days-2008-Giorno.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2320.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2320</trackback:ping></item><item><title>WCF LINQ To SQL il SP1 e la serializzazione</title><link>http://blogs.aspitalia.com/sm15455/post2309/WCF-LINQ-SQL-SP1-Serializzazione.aspx</link><pubDate>Sun, 06 Jul 2008 17:30:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2309' border="0" style="width:1px; height:1px;" /&gt;Oggi stavo facendo una prova con LINQ To SQL e ad un certo punto ho notato che il codice delle classi autogenerato da Visual Studio non inserisce più gli attributi DataMember e DataContract per la serializzazione WCF. &lt;br /&gt;A questo punto ho creato un servizio WCF ed ho esposto la classe e questa veniva serializzata correttamente. Confesso che lo sconforto mi è preso un pochino perchè non capivo cosa stesse succedendo. Armato di reflector vado ad esaminare l'assembly e scopro che gli attributi in realtà sono lì.&lt;br /&gt;Andando più a fondo, ho scoperto che una dele nuove caratteristiche del SP1 è che WCF non ha più bisogno degli attributi di mapping poichè questi vengono automaticamente iniettati dal compilatore sul'interfaccia pubblica di una classe. Ovviamente, si può modificare il tutto inserendo a mano l'attributo DataContract sulla classe e DataMember sulle sole proprietà da esporre con WCF.&lt;br /&gt;&lt;br /&gt;Buono a sapersi.... ma uno dei cardini di WCF non era che l'esposizione delle proprietà doveva essere esplicitata dallo sviluppatore?&lt;br /&gt;&lt;br /&gt;Stay Tuned...&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework/" rel="tag"&gt;.NET Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.0/" rel="tag"&gt;.NET Framework 3.0&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ_to_SQL/" rel="tag"&gt;LINQ to SQL&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Windows_Communication_Foundation/" rel="tag"&gt;Windows Communication Foundation&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>.NET, .NET Framework, .NET Framework 3.0, .NET Framework 3.5, LINQ, LINQ to SQL, Windows Communication Foundation</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2309/WCF-LINQ-SQL-SP1-Serializzazione.aspx</guid><slash:comments>2</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2309/WCF-LINQ-SQL-SP1-Serializzazione.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2309.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2309</trackback:ping></item><item><title>Una noisa limitazione di LINQ To SQL</title><link>http://blogs.aspitalia.com/sm15455/post2292/Noisa-Limitazione-LINQ-SQL.aspx</link><pubDate>Sat, 31 May 2008 19:47:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2292' border="0" style="width:1px; height:1px;" /&gt;Lo sappiamo tutti: LINQ To SQL è stato concepito appositamente con delle limitazioni. Mapping 1:1 con il database (con conseguente obbligatorietà di avere una classe di correlazione per il mapping many-to-many), ereditarietà che non supporta tutti e 3 i modelli, classi apposite per gestire riferimenti a entità (EntitySet e EntityRef), ecc ecc.&lt;br /&gt;&lt;br /&gt;Dal mio punto di vista, la prima e la seconda limitazione sono accettabili per un tool che nasce con lo scopo di gestire progetti semplici. La terza, tuttavia, proprio non la accetto. Per motivi di Lazy Loading e riferimenti al DataContext, EntitySet non è serializzabile. Questo significa che se in un servizio WCF proviamo a esporre un'entità Fattura che ha una EntitySet di oggetti DettaglioFatttura, riceviamo una bella eccezione di serializzazione a runtime. &lt;br /&gt;&lt;br /&gt;Il workaround è presto trovato, basta evitare di mettere il DataMember sulla proprietà in questione e farne una copia che espone una lista generica di oggetti DettaglioFattura, e non un EntitySet, preoccupandosi di valorizzarla correttamente. Facendo così i problemi si risolvono, ma il disappunto rimane per una cosa che poteva essere fatta  meglio e non costringerci al workaround.&lt;br /&gt;&lt;br /&gt;P.S. A nessun Ughetto è stato fatto male durante la stesura di questo post, anzi, è lui che ha fatto del male a me :D&lt;br /&gt;&lt;br /&gt;Stay Tuned...&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.0/" rel="tag"&gt;.NET Framework 3.0&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ_to_SQL/" rel="tag"&gt;LINQ to SQL&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Windows_Communication_Foundation/" rel="tag"&gt;Windows Communication Foundation&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Database/" rel="tag"&gt;Database&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>.NET, .NET Framework 3.0, LINQ to SQL, Windows Communication Foundation, .NET Framework 3.5, LINQ, Database</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2292/Noisa-Limitazione-LINQ-SQL.aspx</guid><slash:comments>3</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2292/Noisa-Limitazione-LINQ-SQL.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2292.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2292</trackback:ping></item><item><title>Il nuovo speciale in arrivo su LINQ</title><link>http://blogs.aspitalia.com/sm15455/post2261/Speciale-Arrivo-LINQ.aspx</link><pubDate>Fri, 28 Mar 2008 10:37:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2261' border="0" style="width:1px; height:1px;" /&gt;Se è vero che alla follia non c'è mai fine allora non so veramente dove andremo a finire. Non bastavano 2 &lt;a href="http://www.linqitalia.com/"&gt;siti&lt;/a&gt; &lt;a href="http://www.silverlightitalia.com/"&gt;nuovi&lt;/a&gt; di zecca dedicati alle più grandi novità di casa Microsoft degli ultimi anni? Non bastava uno &lt;a href="http://www.aspitalia.com/focuson/1022/Speciale-Lancio-Visual-Studio-2008-SQL-Server-2008.aspx"&gt;speciale &lt;/a&gt;mastodontico su tutto il framework 3.5? Non bastava un Community After Hour durante il lancio di Visual Studio? Non bastavano &lt;a href="http://www.linqitalia.com/articoli/"&gt;articoli&lt;/a&gt;, &lt;a href="http://www.linqitalia.com/script/"&gt;script&lt;/a&gt;, &lt;a href="http://www.aspitalia.com/focuson/"&gt;focuson&lt;/a&gt;, &lt;a href="http://blogs.aspitalia.com/"&gt;blog&lt;/a&gt;?&lt;br /&gt;Beh, la risposta è: NO.&lt;br /&gt;&lt;br /&gt;Dalla prossima settimana arricchiremo la nostra offerta di contenuti aprendo le porte ad un nuovo format: lo screencast. Come è ormai nostra usanza, affronteremo questa nuova sfida con uno &lt;a href="http://www.aspitalia.com/focuson/1030/Screencast-Dedicati-LINQ-Speciale-Aprile.aspx"&gt;speciale&lt;/a&gt;. La sezione &lt;a href="http://media.aspitalia.com/"&gt;media&lt;/a&gt; esiste già da diverso tempo, ma contiene registrazioni di sessioni che abbiamo tenuto per le varie conferenze. Questa volta abbiamo deciso di fare qualcosa di apposito.&lt;br /&gt;&lt;br /&gt;6 screencast su LINQ e tutti i suoi flavour dalla durata decisamente breve (10-15 minuti) e dal taglio esclusivamente pratico. Non posso nascondere una punta di orgoglio nel dire queste cose perchè il primo sito del network ad affrontare questa nuova avventura è LINQItalia. &lt;br /&gt;&lt;br /&gt;Come sempre, anche se gli screencast li faccio io, non sono di certo il solo artefice di questo speciale; &lt;a href="http://blogs.aspitalia.com/novecento/"&gt;Alessio&lt;/a&gt; ha affrontato la parte Player (In Siverlight) mentre &lt;a href="http://blogs.aspitalia.com/daniele/"&gt;Daniele&lt;/a&gt; ha come sempre coordinato le attività.&lt;br /&gt;&lt;br /&gt;Insomma, ad Aprile niente dolce dormire, ma tanti nuovi contenuti per la community :). E poi chissà, se le cose vanno bene, mica ci si deve fermare qui ;)&lt;br /&gt;&lt;br /&gt;Stay tuned...&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ_to_SQL/" rel="tag"&gt;LINQ to SQL&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ_to_XML/" rel="tag"&gt;LINQ to XML&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/XML/" rel="tag"&gt;XML&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>LINQ, .NET Framework 3.5, LINQ to SQL, LINQ to XML, XML</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2261/Speciale-Arrivo-LINQ.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2261/Speciale-Arrivo-LINQ.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2261.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2261</trackback:ping></item><item><title>LINQItalia.com e SilverlightItalia.com sono online</title><link>http://blogs.aspitalia.com/sm15455/post2214/LINQItalia.com-SilverlightItalia.com-Online.aspx</link><pubDate>Wed, 30 Jan 2008 23:21:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2214' border="0" style="width:1px; height:1px;" /&gt;In questi minuti i 2 nuovi pargoli del network stanno emettendo i loro primi vagiti. Per me che sarò anche Content Manager di LINQItalia.com il momento è particolarissimo.&lt;br /&gt;&lt;br /&gt;Personalmente provo un misto tra gioia, orgoglio e terrore. &lt;br /&gt;Gioa perchè il fatto di voler affrontare questa nuova sfida significa che sento di potercela fare. &lt;br /&gt;Orgoglio perchè essere Content Manager di un sito mi fa sentire apprezzato per quello che ho fatto fino ad adesso.&lt;br /&gt;Terrore perchè gestire un sito è una cosa che non ho mai fatto e nonostante le rassicurazioni dei compagni di viaggio sono ancora sotto terrorizzato :).&lt;br /&gt;&lt;br /&gt;Per quanto riguarda &lt;a href="http://www.linqitalia.com/"&gt;LINQItalia.com&lt;/a&gt; le cose in cantiere sono tante; da qui alla fine della stagione ci saranno contenuti come articoli e script ma stiamo pensando anche a delle succulente novità che siamo sicuri faranno felici molti di voi. :)&lt;br /&gt;&lt;br /&gt;Il primo passo è fatto, non mi rimane che fare un grande in bocca al lupo ad &lt;a href="http://blogs.aspitalia.com/nostromo/"&gt;Alessio&lt;/a&gt; e &lt;a href="http://blogs.aspitalia.com/novecento/"&gt;Marco&lt;/a&gt; che come me si sono imbarcati in questa avventura (loro gestiscono &lt;a href="http://www.silverlightitalia.com/"&gt;SilverlightItalia.com&lt;/a&gt; n.d.r) ad augurare un felice LINQ a tutti :).&lt;br /&gt;&lt;br /&gt;Stay Tuned...&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Silverlight/" rel="tag"&gt;Silverlight&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/XAML/" rel="tag"&gt;XAML&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>ASPItalia.com, .NET Framework 3.5, LINQ, Silverlight, XAML</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2214/LINQItalia.com-SilverlightItalia.com-Online.aspx</guid><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2214/LINQItalia.com-SilverlightItalia.com-Online.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2214.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2214</trackback:ping></item><item><title>FWC il giorno dopo</title><link>http://blogs.aspitalia.com/sm15455/post2207/FWC-Giorno.aspx</link><pubDate>Wed, 16 Jan 2008 09:27:00 GMT</pubDate><description>&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2207' border="0" style="width:1px; height:1px;" /&gt;A distanza di una pizza ed una bella dormita dalla fine della conferenza di ieri a L'Aquila è arrivato il momento di tirare le somme di una giornata davvero bella.&lt;br /&gt;In realtà la nostra esperienza parte da lunedì sera quando insieme agli organizzatori della conferenza siamo andati a cena fuori, sparandoci almeno 2 etti e mezzo di carbonara a testa ed una grigliata mista di carne che ci ha tenuti tutta la notte attaccati alla bottiglia :).&lt;br /&gt;&lt;br /&gt;Poi la conferenza; per me è stato emozionante l'annuncio live di &lt;a href="http://blogs.aspitalia.com/daniele"&gt;Daniele&lt;/a&gt; della nascita dei due &lt;a href="http://www.linqitalia.com/"&gt;nuovi&lt;/a&gt; &lt;a href="http://www.silverlightitalia.com/"&gt;pargoli&lt;/a&gt; (in articolare per LINQItalia visto che lo gestisco io).&lt;br /&gt;&lt;br /&gt;Poi si parte con Pietro che ha mostrato come IIS7 sia uno dei prodotti più belli sfornati da Microsoft negli ultimi decenni. La pipeline integrata con ASP.NET è un autentico gioiello.&lt;br /&gt;&lt;br /&gt;Dopo è il mio turno, anzi il turno di LINQ To ... appena salito sul palco una delle prime domande che ho fatto al pubblico è stata &amp;quot;Quanti di voi credono che LINQ sia solo un motore per lavorare con il database?&amp;quot;. Come era facile aspettarsi molti hanno alzato la mano perchè ciò che è permeato durante la beta e anche adesso è solo LINQ To SQL. Mi ero preparato a questa evenienza e quindi avevo già impostato una sessione che non parlasse di LINQ To SQL ma di LINQ To Objects, LINQ To XML, LINQ To DataSet e solo alla fine di LINQ To SQL. La risposta del pubblico è stata fantastica; decine di domande, curiosità e apprezzamenti per LINQ in tutti i suoi Flavours con un'ovvia preponderanza per LINQ To SQL.&lt;br /&gt;&lt;br /&gt;Dopo pranzo comincia Daniele, che dopo aver markettato per 40 minuti sulle nuove feature di Visual Studio 2008 ha finalmente cominciato a scrivere il codice che tutti si aspettavano. La sessione scorre via liscia, tra un bug e l'altro delle CTP Extension in Visual Studio, fino al momento delle domande dove la gente continuava a chiedere di LINQ più che di ASP.NET a tal punto che siamo dovuti intervenire io e Pietro per rispondere.&lt;br /&gt;&lt;br /&gt;Infine è il turno di Cristian (Silverlight) che snocciola animazioni con xaml, come se fossero noccioline (cubi che girano, si allargano, immagini che ruotano bottoni che interagiscono con javacsript etc etc.). Certo quando ha parlato di IChar, IBottle, TuoTubo e ScatolaDiSapone forse è andato troppo oltre, ma proprio per questo gli vogliamo bene :). Nel complesso come parla lui di queste cose credo in Italia non ci sia veramente nessuno.&lt;br /&gt;&lt;br /&gt;Gli utlimi byte li dedico agli organizzatori Daniele e Stefano che hanno fatto davver un gran bel lavoro perchè organizzare una conferenza non è mai facile e ci sono molte più cose da fare di quello che si immagini.&lt;br /&gt;&lt;br /&gt;Gli ultimissimi byte vanno invece alle persone che ad ogni conferenza affrontano il caldo, il freddo, il maltempo e qualunque catastrofe naturale pur di esserci. Domande, partecipazione, battute, curiosità e voglia di apprendere; questo è stato grazie a voi un evento ancora più bello.&lt;br /&gt;&lt;br /&gt;I byte finali vanno come saluto al mini-speaker Alessio Bochicchio che si destreggiava abilmente nella tombolata delle estrazioni dei premi :)&lt;br /&gt;&lt;br /&gt;Stay Tuned...&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework/" rel="tag"&gt;.NET Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_3.5/" rel="tag"&gt;.NET Framework 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/10annidi/" rel="tag"&gt;10annidi&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_3.5/" rel="tag"&gt;ASP.NET 3.5&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASPItalia.com/" rel="tag"&gt;ASPItalia.com&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/IIS/" rel="tag"&gt;IIS&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/LINQ/" rel="tag"&gt;LINQ&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Silverlight/" rel="tag"&gt;Silverlight&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Visual_Studio/" rel="tag"&gt;Visual Studio&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Windows_Presentation_Foundation/" rel="tag"&gt;Windows Presentation Foundation&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Windows_Server/" rel="tag"&gt;Windows Server&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/XAML/" rel="tag"&gt;XAML&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Stefano Mostarda</dc:creator><category>Eventi, .NET Framework, .NET Framework 3.5, 10annidi, ASP.NET, ASP.NET 3.5, ASPItalia.com, IIS, LINQ, Silverlight, Visual Studio, Windows Presentation Foundation, Windows Server, XAML</category><guid isPermaLink="true">http://blogs.aspitalia.com/sm15455/post2207/FWC-Giorno.aspx</guid><slash:comments>4</slash:comments><wfw:comments>http://blogs.aspitalia.com/sm15455/post2207/FWC-Giorno.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/SM15455/CommentRSS2207.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2207</trackback:ping></item></channel></rss>