Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

LINQ

Nasce una nuova community: Visual Studio Tips & Tricks

Oggi, lunedì 20 febbraio 2017, abbiamo il piacere di annunciare la nascita di una nuova community tecnica chiamata Visual Studio Tips & Tricks. Il nome è certamente e volutamente evocativo, ma questa community non è assolutamente un’estensione di Visual Basic Tips & Tricks. E’ una realtà totalmente nuova, autonoma e piena di freschezza, che ha lo scopo di divulgare conoscenza sulle tecnologie Microsoft per lo sviluppo di software ad ampio raggio, negli ambiti Mobile, Desktop, Cloud con l’ecosistema di Microsoft Visual Studio, inclusi Visual Studio Code e Visual Studio for Mac. Ciò vuol dire che ci occuperemo massicciamente di cose come Xamarin,...

posted @ lunedì 20 febbraio 2017 08:37 | Filed Under [ .NET Framework Visual Basic C# Varie Windows Presentation Foundation LINQ Community and friends Windows Azure and SQL Azure UWP e Windows Store Apps Visual Studio 2015 .NET Compiler Platform (Roslyn) Windows 10 Xamarin Visual Studio 2017 Visual Studio Code ]

.NET: i prodotti MindScape si aggiornano

Vi segnalo un recente aggiornamento dei prodotti della Mindscape, società che si occupa da molto tempo dello sviluppo di componenti e controlli .NET davvero molto ben fatti e interessanti. Io li conosco per i controlli WPF, oltre 50 di cui molti destinati ai dati e ai grafici, (Elements e Diagrams) e per i controlli Windows Phone (Phone Elements) ma ci sono molti altri controlli, come per Silverlight, un bel designer per NHibernate, strumenti visuali per SharePoint e molto altro. Da poco la società ha anche rilasciato Raygun, un bel servizio di error tracking che è possibile testare in free trial. Se poi volete provare...

posted @ martedì 12 marzo 2013 12:25 | Feedback (0) | Filed Under [ Windows Presentation Foundation LINQ Silverlight e Windows Phone Visual Studio 2012 ]

Il mio nuovo libro Visual Basic 2012 Unleashed è disponibile

Da qualche giorno è disponibile il mio ultimo libro, Visual Basic 2012 Unleashed, sesto della mia vita e terzo in inglese. Per questa mia ultima 'fatica' ho avuto l'onore di una prefazione scritta da Lucian Wischik del Visual Basic Team di Microsoft Corp., il quale, come forse sapete, è il Visual Basic Specification Lead, ossia la persona responsabile del linguaggio e che ne decide le specifiche e le forme sintattiche, oltre ad essere uno dei 'fondatori' del nuovo pattern Async/Await che è forse la più importante novità del linguaggio. Come sempre è una grandissima soddisfazione vedere su carta, o comunque in...

posted @ mercoledì 30 gennaio 2013 15:23 | Feedback (0) | Filed Under [ .NET Framework Visual Basic Setup & Deployment Varie Visual Studio Express Editions Visual Studio Extensibility Windows Presentation Foundation Windows Communication Foundation Windows 7 LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Parallel Programming Community and friends Windows Azure and SQL Azure UWP e Windows Store Apps Visual Studio 2012 ]

VB T&T ha un nuovo sito

Il nostro Team è orgoglioso e felice di annunciare che finalmente Visual Basic Tips & Tricks è online con un nuovo e tanto atteso portale! Dopo molti anni di onorato servizio, il vecchio sito basato su Classic ASP (che peraltro è sempre stato un orologio svizzero) ha lasciato il posto a un nuovissimo, moderno e organizzatissimo portale basato su tecnologia .NET e che offre un'ottima organizzazione dei contenuti, oltre ad essere esteticamente accattivante e indubbiamente al passo coi tempi. Il nuovo portale è chiaramente orientato al cosiddetto Web 2.0, quindi integrazione con i social network più diffusi per la condivisione dei contenuti...

posted @ lunedì 10 settembre 2012 13:41 | Feedback (0) | Filed Under [ Visual Basic Windows Presentation Foundation Windows 7 LINQ Visual Studio 2010 Community and friends Visual Studio LightSwitch Windows Azure and SQL Azure UWP e Windows Store Apps Visual Studio 2012 ]

Entity Framework: risolvere l'errore 3004

Se lavorate con ADO.NET Entity Framework 4 in Visual Studio 2010, potrebbe capitarvi prima o poi di scontrarvi con il seguente messaggio di errore: "Error 3004: Problem in mapping fragments starting at line 937:No mapping specified for properties NomeProprietà in Set NomeEntitySet. An Entity with Key (PK) will not round-trip when: Entity is type" Questo errore si verifica sostanzialmente quando fate delle modifiche direttamente sul database, ad esempio tramite SQL Server Management Studio; database che avete precedentemente generato tramite approccio Model First, quindi "disegnando" il vostro modello per poi generare il db. L'errore si verifica in particolare quando fate il refresh del modello, in modo...

posted @ lunedì 5 settembre 2011 11:04 | Feedback (0) | Filed Under [ .NET Framework LINQ Visual Studio 2010 ]

Segui il nostro evento online per il lancio di Visual Studio LightSwitch 2011

Come sapete, la RTM di Microsoft Visual Studio LightSwitch 2011 verrà ufficialmente rilasciata il giorno 26 luglio 2011. Per celebrare degnamente questo importante rilascio, noi di LightSwitch Tips & Tricks non siamo da meno e il giorno successivo, il 27 luglio, terremo un evento online gratuito per la comunità di sviluppatori italiana. Trascorreremo insieme due ore e mezza, dalle 18 alle 20.30, durante le quali tratteremo diversi contesti sia di tipo "getting started" che approfondimenti. L'evento online verrà erogato tramite Live Meeting. Per ottenere le credenziali, dovete registrarvi all'evento attraverso l'apposita pagina: http://eventi.lightswitch.it/LancioLightSwitch.htm Ebbene si, abbiamo creato la pagina di registrazione proprio con LightSwitch,...

posted @ giovedì 21 luglio 2011 19:56 | Feedback (0) | Filed Under [ .NET Framework Visual Basic LINQ Silverlight e Windows Phone Visual Studio 2010 Community and friends Visual Studio LightSwitch Windows Azure and SQL Azure ]

Una riflessione su LightSwitch, per i non esperti o per chi viene da altri mondi

Riprendo, con parole mie , una considerazione che trovo molto emblematica fatta dal caro amico Michael Washington, Silverlight MVP e grande esperto di Visual Studio LightSwitch. Ci si riferisce a quegli utenti che utilizzeranno LightSwitch provenendo da background come Access o Excel. Quelli che chiamiamo affettuosamente gli Excel power users In molti contesti l'infrastruttura di LightSwitch fa tante cose al posto del programmatore, inclusi tanti scenari di validazione o inclusa la possibilità di progettare query in modo visuale. In tanti altri contesti, però, un po' di codice bisogna scriverlo. Soprattutto per le query personalizzate, il modo più naturale per scriverle in LightSwitch è...

posted @ sabato 11 giugno 2011 17:12 | Feedback (3) | Filed Under [ LINQ Visual Studio LightSwitch ]

MSDN Code Gallery cambia look e passa agli esempi

Sicuramente conoscerete la MSDN Code Gallery, portale per la condivisione di codice sorgente lanciato qualche anno fa da Microsoft. Il portale è stato completamente riorganizzato, principalmente per il fatto che prima venivano pubblicati contenuti di vario genere, spesso diversi da esempi specifici, uscendo quindi dal focus del sito. Gli esempi sono ora sfogliabili in base alla versione di Visual Studio (incluso LightSwitch), piattaforma (desktop, Web, cloud, phone), linguaggio di programmazione o tecnologia. Un modo quindi intelligente di organizzare il codice che viene condiviso. Il seguente screenshot mostra un esempio di come sia ora organizzata la gallery; qui vengono mostrati gli esempi disponibili...

posted @ mercoledì 20 aprile 2011 15:50 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Varie Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Visual Studio Tools for Office LINQ Silverlight e Windows Phone Visual Studio 2010 Parallel Programming Community and friends Visual Studio LightSwitch Windows Azure and SQL Azure ]

Beta 2 di Visual Studio LightSwitch disponibile con.. Go Live!

E' stata appena rilasciata l'attesissima Beta 2 di Visual Studio LightSwitch, nuovo prodotto della famiglia di Visual Studio 2010 per lo sviluppo rapido di applicazioni line-of-business. Chi di voi già segue la nostra community LightSwitch Tips & Tricks sa bene quanto interesse ruota intorno a questo nuovo prodotto, grazie alle sue caratteristiche davvero eccezionali per sviluppare applicazioni data-centric ben strutturate con poco sforzo, per il desktop, il Web e il cloud. LightSwitch Beta 2 è disponibile immediatamente per gli abbonati MSDN, mentre lo sarà a tutti il giorno 17 marzo. La cosa più interessante è che viene rilasciato con licenza Go Live,...

posted @ martedì 15 marzo 2011 19:50 | Feedback (1) | Filed Under [ Visual Basic C# LINQ Silverlight e Windows Phone Visual Studio 2010 Visual Studio LightSwitch ]

Ottenere i duplicati in una collection con LINQ e Visual Basic

Spesso si ha la necessità di ottenere l'elenco di oggetti duplicati all'interno di una collection .NET, soprattutto se questa è collegata a una maschera di inserimento dati, lato interfaccia. LINQ permette di ottenere questo risultato in modo piuttosto semplice. Consideriamo per esempio di avere una classe Customer, che rappresenta un cliente e una collezione di oggetti Customer. Qualunque sia il tipo della collezione ci si aspetta che implementi IEnumerable(Of Customer), quindi una List oppure una ObservableCollection se siamo in ambito WPF. Possiamo quindi scrivere un metodo come il seguente, in cui la clausola Group By raggruppa tutte le istanze Customer in base...

posted @ mercoledì 1 dicembre 2010 16:29 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

Un ospite d'eccezione da Redmond, per il Community Tour di Roma

Sono davvero molto felice di potervi comunicare che il 12 novembre, alla tappa di Roma del Community Tour organizzata da noi di Visual Basic Tips & Tricks con DomusDotNet e in collaborazione con Microsoft Italia, avremo un ospite d'eccezione senza eguali!Avremo infatti il piacere di avere con noi Lucian Wischik, Visual Basic Specification Lead di Microsoft Corporation. Lucian terrà una sessione sul nuovo framework Async CTP annunciato durante la PDC 2010 e illustrerà anche le nuove keyword Async e Await. Per coloro che non conoscono Lucian, oltre ad essere stato coinvolto molto intensamente nello sviluppo dei modelli asincroni per i...

posted @ mercoledì 3 novembre 2010 00:41 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming Community and friends Visual Studio LightSwitch ]

Microsoft TechDays WPC 2010 - Disponibile l'agenda

Da alcuni giorni è disponibile l'agenda della conferenza Microsoft TechDays WPC 2010, che si terrà ad Assago nei giorni dal 23 al 25 novembre. A questo indirizzo potete trovare l'elenco completo delle sessioni suddiviso per le varie giornate. Se volete venire a seguire le mie sessioni, sarò presente il giorno 23 novembre per parlare di WPF 4 su Windows 7 e WCF RIA Services per sviluppatori Visual Basic. Ci vediamo lì! Alessandro

posted @ martedì 12 ottobre 2010 17:34 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Varie Windows Presentation Foundation Windows Communication Foundation LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Community and friends ]

Community Tour a Roma con Visual Basic Tips & Tricks e DomusDotNet

Come forse sapete, il Community Tour è un evento gratuito organizzato dalle community tecniche italiane in collaborazione con Microsoft Italia, costituito da una serie di incontri che si tengono presso varie città italiane e che riguardano sia gli sviluppatori che i professionisti IT. Dopo l'ultima nostra esperienza, davvero positiva, Visual Basic Tips & Tricks e DomusDotNet tornano insieme a Roma il giorno 12 novembre 2010 per parlare di Windows Phone 7, Internet Explorer 9, Windows Azure e Visual Studio 2010. L'evento si terrà presso l'hotel Four Points by Sheraton Roma e si articolerà su 5 sessioni tecniche davvero molto interessanti....

posted @ giovedì 30 settembre 2010 17:48 | Feedback (1) | Filed Under [ .NET Framework Visual Basic Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming Community and friends Visual Studio LightSwitch ]

Nuovi estratti dal mio libro "Visual Basic 2010 Unleashed"

Volevo segnalarvi che sono disponibili, gratuitamente e "full", alcuni ulteriori estratti dal mio libro "Visual Basic 2010 Unleashed". Si tratta in realtà dei capitoli Web-only, ossia quelli che per motivi di spazio non abbiamo potuto pubblicare su carta ma che sono disponibili per tutti, in formato PDF. Eccoli, con i link: Chapter 56: Advanced IDE Features. Chapter 57: Introducing the Visual Studio Extensibility. Chapter 58: Advanced Analysis Tools. Chapter 59: Testing Code with Unit Tests, Test-Driven Development, and Code Contracts. Qualcosa di sicuramente diverso dal classico manuale su Visual Basic. Si parla di Visual Studio extensibility, di caratteristiche...

posted @ giovedì 5 agosto 2010 13:04 | Feedback (1) | Filed Under [ .NET Framework Visual Basic Visual Studio Extensibility Windows Presentation Foundation Visual Studio Tools for Office LINQ Visual Studio 2010 Parallel Programming Community and friends ]

Evento di Roma "VS 2010 Launch @ Community Tour": com'è andata + download materiali

Venerdì 14 maggio si è tenuto a Roma l’evento per il lancio di Visual Studio 2010 organizzato dalla nostra community Visual Basic Tips & Tricks, in collaborazione con Microsoft Italia. La giornata è stata davvero memorabile e in questo post voglio raccontarvi com’è andata. Innanzitutto nell’occasione è stata annunciata la nascita dello usergroup romano Domus.NET, il cui scopo è quello di aggregare appassionati che vivono nella zona di Roma e dintorni e che annovera, tra gli altri, gli amici Matteo Emili, Nicolò Carandini e Massimo Bonanni che tra l’altro sono stati molto precisi nel gestire la registrazione all’arrivo dei partecipanti. In...

posted @ lunedì 17 maggio 2010 06:42 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# Varie Visual Studio Express Editions Visual Studio Extensibility Windows Presentation Foundation Windows Communication Foundation Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming ]

"Visual Basic 2010 Unleashed" è sul Visual Basic Developer Center, coi capitoli d'esempio

Come promesso nel precedente post, vi segnalo che sono disponibili due capitoli di esempio (scelti dall'editore) tratti dal mio nuovo libro "Visual Basic 2010 Unleashed". Questi sono i link: "Chapter 1 - Introducing the .NET Framework 4", in cui viene introdotta la nuova versione di .NET Framework con un'overview di CLR, Base Class Library e dei linguaggi "Chapter 8 - Managing an object's lifetime", in cui viene spiegato il ciclo di vita degli oggetti .NET, quindi allocazione di memoria, Garbage Collection, metodi Dispose e Finalize, object resurrection e tutto ciò che fa parte della vita di un oggetto, dalla creazione di un'istanza fino al...

posted @ lunedì 17 maggio 2010 06:11 | Feedback (0) | Filed Under [ .NET Framework Visual Basic Visual Studio Express Editions Visual Studio Extensibility Windows Presentation Foundation Windows Communication Foundation Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming ]

E' uscito il mio nuovo libro: "Visual Basic 2010 Unleashed"

Ho il piacere e la soddisfazione di comunicarvi che è finalmente disponibile il mio nuovo libro "Visual Basic 2010 Unleashed", edito da SAMS/Pearson. Si tratta del mio primo libro in inglese, da oltre 1200 pagine, in cui vengono sviscerati gli aspetti sintattici del linguaggio ma anche come Visual Basic oggi possa essere utilizzato nei confronti delle più recenti tecnologie Microsoft, sia Windows che Web. (Clicca sulla copertina per ingrandire) Indubbiamente è stato un lavoraccio! :-) Sono stati 7 mesi molto impegnativi e faticosi, certamente c'è la soddisfazione (soprattutto quando potrò toccare con mano la mia copia :-)) ma spero anche che...

posted @ mercoledì 12 maggio 2010 10:21 | Feedback (25) | Filed Under [ .NET Framework Visual Basic Setup & Deployment Visual Studio Express Editions Visual Studio Extensibility Windows Presentation Foundation Windows Communication Foundation Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming ]

"Visual Basic 2010 Unleashed": ci siamo quasi!

La settimana prossima, verso la metà, sarà finalmente disponibile il mio nuovo libro "Visual Basic 2010 Unleashed" la cui fase di stampa è quasi completata. Avrò modo di descriverlo con maggiori dettagli con un post il giorno in cui uscirà, ad ogni buon conto vi segnalo che intanto è possibile scaricare il codice a corredo del libro dalla pagina sul sito InformIT raggiungibile qui. Non sono un grande amante dei rilasci di codice a corredo di qualcosa senza che quel "qualcosa" sia effettivamente fruibile, poiché, soprattutto in questi casi, senza un filo conduttore può risultare difficile capire il codice stesso. L'editore...

posted @ lunedì 3 maggio 2010 21:10 | Feedback (5) | Filed Under [ .NET Framework Visual Basic LINQ Visual Studio 2010 Parallel Programming ]

Lancio di Visual Studio 2010: Community Tour con Visual Basic Tips & Tricks a Roma!

Il Team di MSDN Italia ha pubblicato oggi, in questo post, le date delle prossime tappe del Community Tour che si svolgerà in occasione del lancio di Visual Studio 2010. Visual Basic Tips & Tricks sarà presente a Roma il giorno 14 maggio! L'evento si terrà presso la sede romana di Microsoft Italia e ci saranno un sacco di sessioni interessanti. Si parlerà infatti di Visual Studio 2010, dell'IDE, dei linguaggi VB e C#, di Silverlight, di Windows Phone e di Team Foundation Server. L'agenda completa dell'evento è disponibile in questa pagina del nostro sito, mentre il link diretto all'iscrizione è...

posted @ giovedì 25 marzo 2010 23:37 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Visual Studio Express Editions Visual Studio Extensibility Windows Presentation Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming ]

Parallel LINQ, AggregateException e "Just My Code"

Tempo fa, in questo articolo introduttivo a Parallel LINQ con VB 2010 pubblicato su VB T&T, parlai, fra l'altro, di come intercettare e gestire le eccezioni che si verificano quando si lavora "in parallelo". In sostanza si intercetta una AggregateException che espone una proprietà InnerExceptions che è una collezione di eccezioni che possono verificarsi in maniera concomitante (ad esempio se più task contemporaneamente incontrano un errore). Tutto vero, però bisogna prima andare in Tools|Options|Debugging e togliere il segno di spunta da "Enable Just My Code". Questo perchè se viene sottoposto a debug solo il proprio codice, Visual Studio si ferma prima...

posted @ domenica 7 marzo 2010 23:27 | Feedback (1) | Filed Under [ Visual Basic LINQ Parallel Programming ]

Patterns for Parallel Programming in .NET Framework 4.0

Il Team della Task Parallel Library (TPL), l'insieme di API che avremo a disposizione in .NET 4.0 per quanto riguarda la programmazione "parallela" e per PLINQ, ha pubblicato un documento in cui vengono spiegati i pattern più appropriati per questo tipo di programmazione. La cosa molto bella è che non è disponibile solo per C#, ma anche per Visual Basic :-) Oltre a discutere pattern avanzati, vengono illustrati anche concetti di base (ad esempio sui Task). Il documento, per entrambi i linguaggi, è scaricabile a questo indirizzo. Alessandro

posted @ domenica 7 marzo 2010 22:20 | Feedback (1) | Filed Under [ Visual Basic C# LINQ Parallel Programming ]

Evento gratuito "Visual Basic Tips & Tricks Community Day"

Volevo segnalarvi che il giorno 18 marzo p.v. la nostra community terrà un evento gratuito, con tre sessioni pomeridiane dedicate ad alcune interessanti tecnologie Microsoft per sviluppatori. L'incontro si terrà a Milano presso la sede della società ObjectWay e avrà inizio alle ore 14 per la registrazione. Vi riassumo l'agenda, a fine post trovate i link per i dettagli: Ore 14.00 - 14.30: Registrazione Ore 14.30 - 15.30: "TFS 2010 Basic per singoli sviluppatori" - speaker, il sottoscritto :-) Ore 15.30 - 16.30: "Sviluppare per Windows 7 con Visual Basic 2010" - speaker Renato Marzaro Ore 16.30 - 17.00: Coffe break Ore 17.00 - 18.00:...

posted @ mercoledì 3 marzo 2010 20:43 | Feedback (1) | Filed Under [ .NET Framework Visual Basic Varie Windows 7 LINQ Visual Studio 2010 ]

Una bella soddisfazione: MVP Of The Year 2009 per Visual Basic

Durante l'MVP Global Summit tenutosi a Bellevue e Redmond, conclusosi pochi giorni fa, ho avuto l'immensa soddisfazione di ricevere la comunicazione di essere stato votato come MVP Of The Year 2009 per la categoria Visual Basic. Ho scritto "votato" perchè tale riconoscimento è arrivato dall'espressione del giudizio degli altri MVP di Visual Basic di tutto il mondo e dal team che lo produce. Permettetemi di essere fiero di questo traguardo e di voler rendere pubblica la mia emozione: essere votati dai propri "colleghi" MVP sparsi nei 5 continenti (che ringrazio di cuore), con nomi veramente blasonati, e dal gruppo di prodotto è una...

posted @ martedì 23 febbraio 2010 00:30 | Feedback (40) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming ]

Interrogare il registro eventi di Windows con LINQ e Visual Basic

Prendo spunto da un thread apparso oggi sul forum MSDN dedicato a Visual Basic, in cui si richiedeva come sia possibile interrogare il registro degli eventi di log di Windows, filtrando il risultato in base all'ID evento specificato. Innanzitutto si ottiene un riferimento al registro degli eventi di Windows con un'istanza della classe System.Diagnostics.EventLog, al cui costruttore si passa, come argomento, il nome del log da interrogare (come Application, Security, Setup ecc.). Una volta ottenuta l'istanza, si scrive una query LINQ che selezioni solo gli entry (rappresentati da oggetti EventLogEntry) contraddistinti dall'ID desiderato. Il seguente codice esegue tutte queste operazioni:         Dim...

posted @ mercoledì 27 gennaio 2010 00:38 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Newsletter gratuita "MSDN Flash"

Il mondo della tecnologia corre molto veloce e spesso rimanere aggiornati non è facile. In particolare, conoscere le novità sulle tecnologie Microsoft diventa fondamentale nel momento in cui le utilizzate per il vostro lavoro di sviluppatori. Niente di più semplice, quindi, che iscrivervi alla Newsletter MSDN Flash, una risorsa gratuita che porterà direttamente nella vostra e-mail tutte le ultime novità sui prodotti Microsoft per sviluppatori, inclusi download utili (Beta, Trial, SDK, patch e molto altro), capitoli gratuiti estratti da libri tecnici, video formativi e notizie inerenti eventi tecnici tenuti da Microsoft Italia e dalle Community italiane. Tutto questo in un...

posted @ martedì 26 gennaio 2010 19:25 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions Visual Studio 2008 Windows Presentation Foundation Windows 7 LINQ Silverlight e Windows Phone Visual Studio 2010 ]

Il mio libro "Visual Basic 2010 Unleashed" è in pre-vendita su Amazon

Probabilmente coloro di voi che mi seguono con più assiduità avranno notato un calo dei post su questo blog negli ultimi mesi. In realtà sono stato impegnato su quello che è sicuramente il più grande lavoro informatico che ritengo di aver fatto nella mia vita, ossia la produzione del mio nuovo libro (e primo in lingua inglese) intitolato Visual Basic 2010 Unleashed edito da SAMS. Anche se non è ancora uscito, è già possibile ordinarlo su Amazon, la importante libreria on-line. Per motivi contrattuali non posso ancora svelare nei dettagli il contenuto del libro, vi anticipo comunque che: è in inglese :-) circa 1000...

posted @ sabato 23 gennaio 2010 22:27 | Feedback (11) | Filed Under [ .NET Framework Visual Basic Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming ]

Piccolo divertimento con Parallel LINQ

Ho sempre sognato di vedere questo spettacolo nell'eseguire una query con Parallel LINQ :-) Ora è stato possibile, grazie a un nuovo processore quad-core e 8 giga di RAM, che rendono tutto veramente veloce :-) Per la cronaca si tratta del codice di cui parlai in questo precedente post introduttivo a PLINQ, giusto per rinfrescare un po' la memoria sull'argomento. In effetti gli sviluppatori della Parallel Task Library indicavano i processori quad-core come quelli che traggono i migliori vantaggi da PLinq e ora capisco meglio il perchè :-) Alessandro

posted @ mercoledì 16 dicembre 2009 23:10 | Feedback (4) | Filed Under [ LINQ Parallel Programming ]

Nuovo look per i portali MSDN

MSDN, il portale Microsoft dedicato agli sviluppatori, offre ora una nuova e più funzionale veste grafica che permette una migliore fruizione dei contenuti oltre ad avere un'estetica decisamente nuova. Non solo la pagina principale di MSDN, ma molti altri portali collegati (compresi i forum in inglese) hanno il nuovo look. Se volete dare un'occhiata, qui ci sono alcuni link (che comunque vi consiglio di tenere sempre nei bookmark :-) ): MSDN  Visual Basic Developer Center (dove troverete anche una vecchia conoscenza :D) Visual C# Visual F# Visual Basic su MSDN Italia Alessandro

posted @ sabato 17 ottobre 2009 23:54 | Feedback (0) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming ]

Ci vediamo alla WPC 2009?

Come ogni anno, Microsoft & Overnet Education organizzano la conferenza TechDays - WPC 2009, uno dei più importanti appuntamenti dedicati all'approfondimento delle tecnologie Microsoft. Quest'anno la conferenza si terrà dal 24 al 26 novembre ad Assago (MI) e sarà per me la prima volta da speaker in questa conferenza, con una sessione su VB 2010 con WPF & Entity Framework. Se vi iscrivete entro il 30 settembre potrete approfittare del super early bird, come indicato nell'home page del sito. Se poi volete curiosare su quello che sarà l'argomento della mia sessione, potete fare clic qui. Se avrete modo di venire, fatevi riconoscere così...

posted @ lunedì 28 settembre 2009 18:08 | Feedback (6) | Filed Under [ Visual Basic Varie Windows Presentation Foundation LINQ Visual Studio 2010 ]

Metodi deprecati in Entity Framework 4

Smanettando un po' con la Beta 1 di Visual Studio 2010, sono venuto a conoscenza del fatto che ci sono alcuni metodi considerati deprecati in ADO.NET Entity Framework 4 (ossia la seconda versione), in particolare quelli per l'aggiunta e la rimozione di oggetti agli entity set che invece si utilizzavano nella prima versione. Per esempio, in uno scenario dimostrativo di utilizzo del database di esempio Northwind in cui l'Entity Data Model esponga un entity set chiamato Products, queste sono le modalità, vecchia e nuova, per aggiungere l'entity:         Dim northwind As New NorthwindEntities         Dim prod As New...

posted @ sabato 26 settembre 2009 19:16 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

Elencare i file di una directory con LINQ in .NET 4.0

Quando esce una nuova versione di .NET Framework il pensiero va spesso, almeno nel mio caso, alle nuove mirabolanti tecnologie che questa possa offrire, ma spesso ci sfugge che ci sono piccole aggiunte anche alla libreria di classi base ereditata dal predecessore. Per puro caso ho scoperto oggi che la classe System.IO.Directory di .NET Framework 4.0 Beta 1 offre ora un metodo chiamato EnumerateFiles, che fa lo stesso di quanto già facesse GetFiles, solo che restituisce una IEnumerable(Of String) rendendo il risultato, di fatto, interrogabile con LINQ in modo diretto. Un esempio:         Dim filesEnumerable As IEnumerable(Of String) = Directory.EnumerateFiles("C:\", "*.exe")

posted @ lunedì 14 settembre 2009 19:07 | Feedback (0) | Filed Under [ .NET Framework Visual Basic LINQ Visual Studio 2010 ]

Mantenere l'ordine sequenziale delle query con Parallel LINQ

Una delle situazioni a cui bisogna fare attenzione quando si lavora con Parallel LINQ, è che i risultati delle query confluiscono in sequenze i cui elementi sono disposti "in ordine sparso". Ciò è del tutto normale, poiché lo stesso compito è suddiviso su più thread che vengono eseguiti contemporaneamente quindi non è possibile prevedere a priori un ordine sequenziale. Certamente ciò può costituire un problema nel momento in cui si ha necessità di scorrere una sequenza nell'ordine prefissato che ci si attenderebbe, ma fortunatamente la soluzione c'è. Riprendiamo l'esempio di codice completo, scritto con VB 2010 Beta 1, del post...

posted @ mercoledì 9 settembre 2009 19:59 | Feedback (0) | Filed Under [ LINQ Parallel Programming ]

Nascono i forum MSDN in italiano per developer

Sono appena nati alcuni nuovi forum MSDN in italiano anche per gli sviluppatori! Nascono il forum ASP.NET, Silverlight, Visual C#, Visual C++ e Visual Basic, di cui avrò l'onore di essere moderatore. Tali nuovi forum si basano sulla piattaforma di social networking che già caratterizza altri luoghi di incontro virtuali Microsoft ed affiancano a quelli italiani già esistenti nel sito stesso di Microsoft. Per accedervi, come per quelli già esistenti o per quelli MSDN in inglese, è sufficiente il proprio Windows Live ID. I nuovi forum sono disponibili a questo indirizzo! Enjoy! :-) Alessandro

posted @ mercoledì 9 settembre 2009 15:50 | Feedback (0) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData Visual Studio 2010 Parallel Programming ]

Limitare il numero di task in Parallel LINQ

Sempre con riferimento a Parallel LINQ, è possibile (ma non indispensabile...) specificare un numero prefissato di task contemporanei che il run-time utilizzerà per parallelizzare la query. Si utilizza, al riguardo, il metodo extension WithDegreeOfParallelism il cui argomento è il numero di task e che si richiama dopo AsParallel. Un piccolo esempio che limita a 3 il numero di task contemporanei: Dim processes = Process.GetProcesses.AsParallel.WithDegreeOfParallelism(3) Normalmente il run-time fa da solo la scelta migliore, in ogni caso sappiate che la possibilità. Vi ricordo anche che il parallel computing secondo .NET 4.0 si basa sui task e non sui thread, come meglio specificato nella documentazione ufficiale. Alessandro

posted @ domenica 6 settembre 2009 17:16 | Feedback (1) | Filed Under [ LINQ Parallel Programming ]

Parallelizzazione totale delle query in Parallel LINQ

Tempo fa, in questo post, introducemmo Parallel LINQ e vedemmo come questo consenta di scalare l'esecuzione di query LINQ su architetture multi-core semplicemente richiamando il metodo extension AsParallel e senza fare grosse modifiche alle query stesse. La cosa carina è che PLINQ è in grado di capire, a seconda della forma ("shape") della query, in quale fase della query stessa debba applicare o meno l'algoritmo di parallelizzazione al fine di ottenere un concreto vantaggio. Gli operatori utilizzati influenzano tale decisione da parte di PLINQ, oppure, secondo la documentazione, se una query ha un singolo delegate che fa un lavoro minimo non...

posted @ domenica 6 settembre 2009 17:12 | Feedback (2) | Filed Under [ LINQ Parallel Programming ]

Approccio "Model First" in ADO.NET Entity Framework 2.0 e VS 2010

Una delle nuove caratteristiche di ADO.NET Entity Framework 2.0, che possiamo già saggiare nella Beta 1 di Visual Studio 2010, si chiama Model First e consente di generare un vero e proprio database di SQL Server a partire dal modello a oggetti. In questo modo è possibile partire dal modello tipizzato arrivando a uno script SQL. In primo luogo si aggiunge al progetto un Entity Data Model: Ci verrà poi chiesto di specificare l'origine per l'EDM. In questo caso dobbiamo selezionare un modello vuoto:   Dopo qualche secondo, il designer di EF si presenta in modo simile alla figura seguente, da cui...

posted @ domenica 2 agosto 2009 00:07 | Feedback (4) | Filed Under [ .NET Framework Visual Basic LINQ Visual Studio 2010 ]

Cosa fa il compilatore Visual Basic nelle query LINQ?

Beth Massi ha appena pubblicato un video su Channel 9, in cui intervista Jonathan Aneja del Visual Basic Team il quale spiega cosa succede dietro le scene ogni volta che scriviamo e/o eseguiamo una query LINQ in Visual Basic. Jonathan spiega come si comporta il compilatore Visual Basic in questi particolari scenari ed è interessante anche per capire come le novità introdotte da .NET 3.5 influenzino il compilatore stesso. Se volete dare un'occhiata, trovate il video a quest'indirizzo. Alessandro

posted @ mercoledì 22 luglio 2009 12:20 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

Introduzione a Parallel LINQ con Visual Basic

Premessa   Parallel LINQ (detto anche PLINQ) è una nuova implementazione di LINQ che si inquadra nel più ampio discorso del Parallel Computing, ossia quelle speciali forme tecnologiche volte a sfruttare le architetture multi-processore o i processori multi-core che oggi hanno ampia diffusione nel mondo dei personal computer. Per farvi un banale esempio, tutti i notebook che vengono venduti oggi ad uso domestico montano architetture almeno dual-core. Tipicamente, però, quasi mai sfruttiamo queste risorse hardware appieno e, conseguentemente, non sempre riusciamo a sfruttarle ai fini del miglioramento delle performance.   Pensiamo, ad esempio, ai cicli For..Each o...

posted @ martedì 7 luglio 2009 00:01 | Feedback (6) | Filed Under [ Visual Basic LINQ Visual Studio 2010 Parallel Programming ]

Modifiche a LINQ to SQL in .NET Framework 4.0

E' una delle domande che ho sentito più spesso e una "croce e delizia" per chi usa LINQ: che fine farà LINQ to SQL, con l'avvento di ADO.NET Entity Framework? Nel suo blog Damien Guard, che lavora a Redmond, ha elencato una serie di modifiche/miglioramenti a LINQ to SQL in .NET Framework 4.0 che, almeno in parte, rispondono alle sopra citate domande. Potete trovare tale elenco in questo suo post. Alessandro

posted @ martedì 9 giugno 2009 19:43 | Feedback (0) | Filed Under [ LINQ Visual Studio 2010 ]

Esempi di codice in Visual Basic per ADO.NET Entity Framework

Una grande notizia, indubbiamente! :-) Sul blog del Team di ADO.NET è stata annunciata la disponibilità di esempi di codice per Visual Basic 2008 sull'utilizzo di ADO.NET Entity Framework, esempi precedentemente disponibili solo per C# nell'ambito della libreria MSDN. Un altro piccolo segno del grande sforzo che a Redmond stanno facendo nei confronti di Visual Basic (e non importa se c'è anche qualche aiutino dalla community). Il post originale si trova qui, mentre gli esempi di codice si trovano sulla MSDN Code Gallery a questo indirizzo. Alessandro

posted @ martedì 2 giugno 2009 22:28 | Feedback (3) | Filed Under [ .NET Framework Visual Basic LINQ ]

Esportare metodi extension da Visual Basic

Oggi con Diego abbiamo affrontato una problematica interessante: se in Visual Basic 2008 i metodi extension possono essere definiti solo in moduli, come è possibile compilarli ed esportarli all'interno di class library affinché siano riutilizzabili all'esterno, per esempio da Visual C#? La risposta ovviamente c'è e la vediamo in questo post. C'è da premettere che ci sono delle regole e best practice da seguire nell'implementazione dei metodi extension, il tutto disponibile nella libreria MSDN a questo indirizzo. Si crea in primo luogo un progetto di tipo Class Library in Visual Basic, che nel mio esempio espone una classe vuota chiamata UsefulMethods: Public NotInheritable Class...

posted @ mercoledì 20 maggio 2009 00:14 | Feedback (2) | Filed Under [ .NET Framework Visual Basic LINQ ]

Quattro chiacchiere con gli amici di DotDotNet su WPF e LINQ

Un po' di tempo fa ho avuto il piacere di essere intervistato da Igor Antonacci, uno dei co-fondatori dello usergroup DotDotNet (UG per l'Emilia Romagna), con il quale abbiamo fatto una piacevole chiacchierata su Windows Presentation Foundation e LINQ, con qualche excursus su Silverlight. Siamo quasi vicini di casa, abitando a 6 km di distanza, ed è stato un vero piacere. Le domande di Igor vertevano sul presente e sul futuro di queste importanti tecnologie Microsoft, e la chiacchierata è stata registrata, nell'ambito dell'iniziativa denominata "DotCast", ed è ora disponibile per il download in formato MP3. Potete scaricare l'audio da questo indirizzo. Nel...

posted @ lunedì 4 maggio 2009 19:30 | Feedback (0) | Filed Under [ Windows Presentation Foundation LINQ ]

ADO.NET Data Services: utilizzare LINQ to SQL con Visual Basic 2008 - seconda parte

Nel precedente post dedicato all'utilizzo di LINQ to SQL con gli ADO.NET Data Services, abbiamo visto come creare un nuovo servizio e di cosa necessitino le entità per essere interrogate sia in query string che da codice gestito, ossia l'attributo DataServiceKey nell'ambito di classi parziali. Quest'oggi vediamo cosa invece serve per eseguire delle operazioni di inserimento/modifica/eliminazione nei confronti del DataContext, punto di ingresso in LINQ to SQL. Per prima cosa, i crediti. Il codice che mostrerò in questo post è una traduzione autorizzata da Andrew Conrad di Microsoft, che ha realizzato un'implementazione in C# di ciò che andremo a vedere e che...

posted @ sabato 25 aprile 2009 19:04 | Feedback (2) | Filed Under [ Visual Basic LINQ WCF Data Services/WCF RIA Services/OData ]

Video "How-do-I" nella documentazione di Visual Studio

Dal blog di Beth Massi apprendo che ora la libreria MSDN relativa alla documentazione per Visual Studio 2008 contiene anche l'elenco degli "How-do-I" video (brevi screencast finalizzati all'apprendimento di specifiche feature) relativi all'argomento che si sta visualizzando, oltre alla documentazione stessa. In sostanza, quando facciamo una ricerca nella Library attraverso il visualizzatore della guida di Visual Studio, oltre alla documentazione vengono segnalati i video disponibili per quel particolare argomento. In questo suo post, Beth mostra un esempio di quanto sopra descritto facendo riferimento all'introduzione a LINQ to Xml con Visual Basic. Una risorsa di apprendimento in più :-) Alessandro

posted @ mercoledì 1 aprile 2009 00:45 | Feedback (2) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData ]

ADO.NET Entity Framework Providers

Una delle peculiarità fondamentali di ADO.NET Entity Framework che, indipendentemente dal suo essere maturo o meno, lo rende particolarmente interessante è la possibilità di essere esteso tramite provider esterni destinati ad altri DBMS diversi da Microsoft SQL Server, il cui provider è fornito di default con .NET Framework 3.5 Service Pack 1. MSDN ha reso disponibile un elenco di provider di terze parti per ADO.NET Entity Framework, sia in RTM che in Beta. La pagina in questione si trova a questo indirizzo e, tra i nomi di database di rilievo, spiccano Oracle, MySQL e PostgreSQL. Se avete a che fare con Entity...

posted @ mercoledì 11 marzo 2009 01:20 | Feedback (0) | Filed Under [ .NET Framework LINQ ]

Partecipa ai Live Meeting di Visual Basic Tips & Tricks!

In Visual Basic Tips & Tricks stiamo organizzando una serie di webcast “live”, che erogheremo gratuitamente tramite il servizio Microsoft Office Live Meeting, durante i quali i nostri speaker terranno delle sessioni inerenti lo sviluppo su tecnologie Microsoft con Visual Basic e che potrete seguire comodamente da casa oppure dal vostro ufficio, attraverso una normale connessione Internet.   A mio avviso si tratta di un bel modo di proporre argomenti e materiali, anche perché in questo modo è possibile interagire con i nostri speaker in tempo reale, ad esempio facendo delle domande sull’argomento proposto. Inoltre...

posted @ giovedì 12 febbraio 2009 13:03 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData ]

"LINQ in Visual Basic 2008" sul blog dell'MVP Award :-)

Non nascondo che questa per me è una bellissima soddisfazione... Forse non tutti sanno che esiste un blog ufficiale dell'MVP Award di Microsoft, i cui post riguardano notizie sulle varie attività svolte dai Microsoft MVP di tutto il mondo, sia con riferimento alle attività di community che a quelle esterne, come per esempio la pubblicazione di libri. Proprio a questo proposito, nel post di oggi si parla del mio libro "Microsoft LINQ in Visual Basic 2008"! Sono ovviamente felice e onorato di questa menzione! :-) Se volete curiosare... il post è a questo indirizzo. Alessandro

posted @ giovedì 5 febbraio 2009 19:17 | Feedback (2) | Filed Under [ Varie LINQ ]

Nuovo portale video MSDN e TechNet

Microsoft Italia ha appena messo on line il nuovo portale per le risorse video MSDN e TechNet (già BE IT), dove potrete trovare un sacco di materiale formativo interessante, ad esempio i vari webcast sulle più recenti tecnologie passando per le registrazioni delle sessioni tenute nel corso dei tour e degli eventi (come il Launch 2008 e i Microsoft Days 08). E' molto ben organizzato, suddiviso in base alla propria area di interesse (Developer o IT Pro) ed è possibile fare ricerche, utilizzare tag cloud, scaricare il materiale (slide e codice) ma soprattutto, una cosa che personalmente ho sempre amato, è...

posted @ venerdì 23 gennaio 2009 20:41 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone WCF Data Services/WCF RIA Services/OData ]

Screencast su ASP.NET Dynamic Data e VB 2008 ora su VB T&T

Dopo aver risolto un piccolo problemino tecnico, nella neonata Area Screencast di Visual Basic Tips & Tricks abbiamo completato l'upload dei miei video relativi alla serie "ASP.NET Dynamic Data con Visual Basic 2008", costituita da tre screencast già precedentemente erogati tramite il mio blog. Approfitto per ringraziarvi per l'interesse dimostrato nei confronti dei nostri screencast (il solo primo video sui Dynamic Data ha toccato quota 440 click in una quarantina di giorni) e vi invito a visitare l'area e a farci pervenire i vostri suggerimenti/feedback. Vi ricordo che i video sono disponibili in Windows Media Streaming e... spero vi siano utili! Alessandro

posted @ sabato 17 gennaio 2009 16:44 | Feedback (0) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Utilizzo di stored procedure in ADO.NET Entity Framework con VB 2008

Piccola premessa: ben accetti consigli al termine del post soprattutto da chi ha esperienze pratiche con Entity Framework (Davide, Andrea, Corrado, Andrea due, Stefano se passate di qua date un’occhiata!). Sicuramente in questo post troverete cose che da altre parti, anche autorevoli, non sono state dette e non so perchè.   Nel mio libro su LINQ in Visual Basic 2008, ho trattato in modo abbastanza completo LINQ-to-SQL mentre nel capitolo dedicato ad ADO.NET Entity Framework e LINQ to Entities ho preferito fare un’overview introduttiva del discorso con esempi ridotti, poiché, al momento della scrittura del...

posted @ martedì 6 gennaio 2009 21:20 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

Entity Framework: ottenere le istruzioni SQL inviate al database con Visual Basic 2008

Probabilmente molti di voi sanno che in LINQ-to-SQL è possibile ottenere l’insieme delle istruzioni inviate dal runtime di .NET a SQL Server attraverso l’utilizzo della proprietà Log del DataContext. Ne ho parlato brevemente sia nel mio articolo introduttivo a LINQ-to-SQL che nel mio libro su LINQ.   Nell’Entity Framework non c’è una proprietà analoga ma si devono utilizzare diverse tecniche a seconda della tipologia di oggetti che utilizziamo per dialogare con l’EF stesso. Per esempio, gli oggetti EntityCommand e ObjectQuery espongono un metodo chiamato ToTraceString che può essere utilizzato per lo scopo, mentre in LINQ-to-Entities...

posted @ domenica 14 dicembre 2008 03:22 | Feedback (0) | Filed Under [ .NET Framework Visual Basic LINQ ]

Paging in LINQ to Entities con Visual Basic 2008

In LINQ-to-Entities, il provider LINQ per dialogare con ADO.NET Entity Framework, il paging avviene in maniera sostanzialmente uguale a LINQ to SQL, quindi utilizzando le clausole Skip e Take che già conosciamo, con una importante differenza: in LINQ to Entities i due operatori citati debbono essere preceduti da una clausola Order By altrimenti il runtime solleva una NotSupportedException. Facciamo un piccolo esempio: ipotizziamo di aver già creato un Entity Data Model in un’applicazione Console che rappresenti in forma object oriented alcune tabelle del database Northwind, come ad esempio Customers e Orders. Vogliamo ottenere l’elenco degli ordini effettuati da un dato...

posted @ venerdì 12 dicembre 2008 00:53 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

Video: Microsoft Visual Basic 2008 Tips and Tricks

Segnalo che è on line il video della sessione tenuta da Lisa Feigenbaum, del Microsoft Visual Basic Team, al TechEd 2008 in Barcellona intitolata "Microsoft Visual Basic 2008 Tips and Tricks". Il video dura un'ora e un quarto e Lisa illustra in dettaglio tutte le potenzialità notevoli dell'IDE di Visual Basic 2008, in particolare il refactoring, l'IntelliSense, i code snippet, gli XML Literals con LINQ-to-XML e le altre novità del linguaggio. Se siete sviluppatori VB 2005 non potete perdervelo per fare il salto e se siete sviluppatori VB 2008 non potete perdervelo per massimizzare la vostra coding experience :-) Il video è a...

posted @ giovedì 11 dicembre 2008 00:35 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2008 LINQ ]

ASP.NET Dynamic Data e Visual Basic: utilizzare un custom field template con Ajax Control Toolkit

Se avete letto la serie di miei articoli introduttivi agli ASP.NET Dynamic Data con Microsoft Visual Basic 2008 SP 1, in area Articoli di VB T&T, avete visto come siano possibili anche elevati livelli di personalizzazione dei siti Web creati attraverso tale framework.   Le personalizzazioni riguardano anche i cosiddetti field templates, quindi è possibile customizzare i “campi” per la visualizzazione e l’inserimento dei dati utilizzando altri controlli diversi dalle TextBox/Label o modificare l’aspetto estetico di quelli implementati di default. Nella precedente occasione ci limitammo, per fini dimostrativi, a variare il colore di sfondo di...

posted @ mercoledì 10 dicembre 2008 23:24 | Feedback (0) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 LINQ ]

Buon 10° compleanno VB T&T!!

L’8 dicembre 2008 è un giorno importante per la nostra Community: si celebra infatti il 10° compleanno di Visual Basic Tips & Tricks, che è ufficialmente presente sul Web come Community proprio da quella data del 1998. Sebbene i primi tip furono pubblicati da Gianluca Cannalire, fondatore e coordinatore, già dal 1996, gli strumenti tipici delle community fanno riferimento a quella data, ma potete leggere qualcosa sulla storia di VB T&T alla pagina Community.   In questo post voglio invece fare i miei più forti auguri a questa Community, che è grande nel cuore delle persone...

posted @ martedì 9 dicembre 2008 14:46 | Feedback (2) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Creare un aggregatore di feed RSS con VB 2008, WPF & LINQ - sesta parte

Riprendiamo oggi, dopo un periodo di pausa, il tutorial che ci ha permesso di ricostruire la mia applicazione, basata su Windows Presentation Foundation, chiamata Custom RSS Feed Aggregator e pubblicata su CodePlex a questo indirizzo. Se avete perso le puntate precedenti:   Creare un aggregatore di feed RSS con VB 2008, WPF & LINQ - prima parte   Creare un aggregatore di feed RSS con VB 2008, WPF & LINQ - seconda parte   Creare un aggregatore di feed RSS con VB 2008, WPF & LINQ - terza parte   Creare un aggregatore di feed RSS con VB 2008, WPF &...

posted @ sabato 6 dicembre 2008 17:31 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2008 Windows Presentation Foundation LINQ ]

VSTO: Interrogare le celle di una cartella di Microsoft Excel con LINQ

Come ormai sapete, LINQ è una tecnologia che permette di interrogare innumerevoli tipologie di dati ed è utilizzabile in tantissimi scenari della programmazione .NET, che vanno dalle applicazioni Windows a quelle Web, passando per i Visual Studio Tools for Office.   Di quest’ultimo settore abbiamo parlato in diverse occasioni, vedendo come utilizzare LINQ nei confronti di documenti di Microsoft Word 2007 in Visual Basic 2008, sfruttando LINQ to Objects. Si pone, però, un notevole problema nel momento in cui decidiamo di utilizzare LINQ to Objects nelle soluzioni basate su cartelle di lavoro di Microsoft Excel 2007,...

posted @ giovedì 4 dicembre 2008 00:27 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2008 Visual Studio Tools for Office LINQ ]

LINQ-to-SQL: Inserire un'immagine nel database e riaprirla da una cella di DataGridView

Una domanda che ho letto molte volte nei forum riguarda la possibilità di inserire immagini in un database di Microsoft SQL Server da codice Visual Basic. In questo post vediamo come raggiungere l’obiettivo utilizzando LINQ-to-SQL e vedremo, inoltre, come fare per ottenere l’immagine contenuta in una cella di una DataGridView per rielaborarla e visualizzarla tramite il viewer di Windows alle sue dimensioni originali. Spesso, infatti, le griglie ci costringono a dover mantenere ridotte le dimensioni delle celle per poterle visualizzare in modo uniforme sullo schermo.   Supponiamo di avere un’applicazione Windows Forms, in cui sia...

posted @ giovedì 27 novembre 2008 18:48 | Feedback (0) | Filed Under [ Visual Basic Visual Studio 2008 LINQ ]

Risorse video per ADO.NET Entity Framework e ADO.NET Data Services

Nel Data Platform Developer Center di MSDN è possibile trovare alcuni utilissimi video introduttivi (di tipo "How-do-I") alle tecnologie ADO.NET Entity Framework e ADO.NET Data Services (ex progetto Astoria), entrambe introdotte in RTM da .NET Framework 3.5 Service Pack 1. Si tratta di risorse davvero imperdibili (sebbene tipicamente indirizzate a Visual C#) per iniziare a lavorare con queste tecnologie all'interno di Microsoft Visual Studio 2008 e molto utili per muovere i primi passi in questi ambiti. Una cosa che voglio sottolineare è l'utilizzo di LINQ (LINQ-to-Entities e LINQ-to-Data Services) che evidenzia, ancora una volta, come questa formidabile tecnologia consenta di interrogare sorgenti...

posted @ lunedì 24 novembre 2008 01:08 | Feedback (0) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions Visual Studio 2008 LINQ Silverlight e Windows Phone ]

Eager loading fortemente tipizzato in ADO.NET Entity Framework e Visual Basic 2008

In un post di qualche giorno fa abbiamo visto come realizzare un form per la rappresentazione master-details con Visual Basic 2008 e ADO.NET Entity Framework e abbiamo detto che, utilizzando la modalità proposta, perdiamo parte dell’essenza di LINQ andando ad eseguire l’eager loading dei “many” relazionati alla parte “one” della relazione utilizzando una stringa piuttosto che una rappresentazione fortemente tipizzata, tipica, invece, di LINQ stesso.   Nel post si fa cenno al blog di Matthieu Mezil (Microsoft Visual C# MVP), il quale ha risolto il problema implementando un metodo che estende l’Include e che consente...

posted @ mercoledì 19 novembre 2008 16:42 | Feedback (2) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 LINQ ]

Creare un aggregatore di feed RSS con VB 2008, WPF & LINQ - quinta parte

In questo quinto post della serie dedicata alla ricostruzione dell’applicazione Custom WPF RSS Feed Aggregator che ho pubblicato su CodePlex, renderemo definitivamente operativa l’applicazione stessa, facendo utilizzo di ulteriori tecniche relative a Windows Presentation Foundation e LINQ-to-Xml tramite Visual Basic 2008.   La scorsa volta avevamo scritto un metodo per popolare la TreeView con l’elenco dei siti Web/blog suddivisi per categorie. Ora dobbiamo gestire la selezione di ciascun sito nella TreeView e far sì che, per ciascun sito, vengano caricati i relativi feed RSS le cui informazioni debbono poi essere mostrate nella ListView. L’evento da...

posted @ domenica 16 novembre 2008 18:02 | Feedback (0) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 Windows Presentation Foundation LINQ ]

Creare un aggregatore di feed RSS con VB 2008, WPF & LINQ - quarta parte

Dopo che il mio piccolo tool ha ricevuto l’onore di essere stato menzionato dalla grande Beth Massi del Visual Basic Team, riprendiamo, in questa quarta parte, il tutorial sulla creazione di un’applicazione WPF che ci sta portando alla ricostruzione dell’applicazione chiamata “Custom WPF RSS Feed Aggregator” da me pubblicata su CodePlex.   Nell’ultima puntata c’eravamo lasciati con la dichiarazione dei controlli TreeView e ListView rappresentando che, con riferimento a questo secondo controllo, avremmo dovuto implementare altre caratteristiche.   Riaprite il progetto, se non l’avete ancora fatto, e posizionatevi all’interno del file Window1.xaml, in particolare all’interno della definizione...

posted @ sabato 15 novembre 2008 19:43 | Feedback (1) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 Windows Presentation Foundation LINQ ]

Rappresentazioni Master-Details in Windows Forms con VB 2008 ed Entity Framework

Se avete letto il mio articolo introduttivo a LINQ-to-SQL, o se avete acquistato il mio libro su LINQ in Visual Basic 2008, avete visto come sia semplice creare una basilare applicazione Windows Forms in grado di soddisfare l’esigenza di creare finestre che espongano, attraverso l’interfaccia, relazioni one-to-many tra entità attraverso rappresentazioni di tipo master-detail.   Il tutto avviene, sostanzialmente, sfruttando alcuni automatismi di Microsoft Visual Studio 2008 che ci consentono di fare il drag’n’drop di oggetti rappresentanti le entità dalla finestra Data Sources sul form di nostro interesse. L’IDE genera poi i controlli necessari, si...

posted @ venerdì 14 novembre 2008 21:56 | Feedback (3) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 LINQ ]

Creare un aggregatore di feed RSS con VB 2008, WPF & LINQ - terza parte

Riprendiamo oggi il tutorial inerente la creazione di un aggregatore di feed RSS con Microsoft Visual Basic 2008, Windows Presentation Foundation e LINQ to Xml che ci porterà a ricostruire l’applicazione chiamata Custom WPF RSS Feed Aggregator che ho pubblicato su CodePlex, la community Microsoft dedicata all’open source, a questo indirizzo e del quale potete scaricare il codice sorgente. Oggi iniziamo a progettare l’interfaccia grafica, lavorando col linguaggio di markup XAML (eXtensible Application Markup Language) e dichiareremo, sempre da XAML, i gestori di evento la cui implementazione managed sarà di pertinenza di post successivi.

posted @ mercoledì 12 novembre 2008 22:01 | Feedback (2) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 Windows Presentation Foundation LINQ ]

Creare un aggregatore di feed RSS con VB 2008, WPF & LINQ - seconda parte

Riprendiamo in questo secondo post il tutorial, iniziato la scorsa volta, sulla creazione di un aggregatore di feed RSS con Visual Basic 2008, basato su Windows Presentation Foundation e che sfrutta LINQ-to-XML. Come anticipato nel primo, questa serie di post ci porterà a ricostruire l’applicazione che ho pubblicato in formato sorgente su CodePlex e intitolata “Custom WPF RSS Feed Aggregator”, che potete scaricare liberamente. Nella “puntata” precedente abbiamo definito un file XML contenente l’elenco dei siti e una classe che rappresenti ciascun post. In questa fase cominciamo a predisporre il lavoro da svolgere attraverso...

posted @ martedì 11 novembre 2008 20:32 | Feedback (2) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 Windows Presentation Foundation LINQ ]

Creare un aggregatore di feed RSS con VB 2008, WPF & LINQ - prima parte

Come promesso, oggi iniziamo una serie di post-tutorial che ci porteranno alla creazione di un client basato su Windows Presentation Foundation per aggregare i feed RSS provenienti da siti Web e blog attraverso Visual Basic 2008 e LINQ. I post faranno riferimento al mio progetto open-source Custom WPF RSS Feed Aggregator pubblicato su CodePlex (del quale potete scaricare il codice) e, secondo una logica step-by-step, ci permetteranno di ricostruire l’applicazione partendo dalla base, fino ad arrivare ad implementare stili grafici complessi con Microsoft Expression Blend 2. Potete anche utilizzare Visual Basic 2008 Express Edition e, se non volete utilizzare Blend, potrete...

posted @ lunedì 10 novembre 2008 21:00 | Feedback (4) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 Windows Presentation Foundation LINQ ]

Mio nuovo progetto open source su CodePlex: WPF Custom Rss Feed Aggregator

Ho pubblicato giusto oggi su CodePlex un nuovo progetto open source, chiamato "Custom WPF RSS Feed Aggregator for Developers". Si tratta di un piccolo client che recupera i feed RSS da tutta una serie di siti di programmazione, in particolare MSDN e i vari blog dei team di prodotto più i blog dei Microsoft MVP delle varie community "dev" italiane. L'applicazione è nata per una mia "fissazione" personale: essere sempre aggiornato sulle novità e sul codice che scrivono gli altri, senza dover andare ad aprire i siti memorizzati nei Preferiti. In questo modo, da un'unica finestra, si può leggere l'elenco e la...

posted @ domenica 9 novembre 2008 22:44 | Feedback (4) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

WPF: utilizzare gli XML Literals di VB 2008 per generare documenti Xml da TreeView

In questo periodo sto sperimentando molte possibilità di utilizzo di LINQ in Windows Presentation Foundation. Quello che veramente ho sempre apprezzato di LINQ è proprio il suo essere utilizzabile nei confronti di una marea di tipologie di oggetti in .NET, controlli inclusi. In precedenti post vedemmo come utilizzare LINQ-to-Objects per iterare controlli Windows Forms, in questo post, invece, facciamo una cosa un po’ diversa: partiamo da una TreeView in Windows Presentation Foundation per creare un documento XML con LINQ to Xml a partire dai nodi della TreeView stessa. Per lo scopo, sfrutteremo ancora una volta la potenza delle embedded expression...

posted @ sabato 8 novembre 2008 20:45 | Feedback (1) | Filed Under [ Visual Basic Visual Studio 2008 Windows Presentation Foundation LINQ ]

Il mio libro su LINQ in MSDN Flash

Come probabilmente molti di voi sanno, esiste una newsletter quindicinale di MSDN Italia, chiamata MSDN Flash, all'interno della quale vengono comunicate tutte le novità inerenti le più recenti tecnologie Microsoft per developer, come software, articoli, eventi, approfondimenti e, da alcuni mesi, anche capitoli di esempio tratti da libri sulla programmazione .NET. Nella newsletter odierna è stato reso disponibile, in formato PDF, il Capitolo 9 del mio libro "Microsoft LINQ in Visual Basic 2008", che illustra alcune tecniche di utilizzo di LINQ-to-SQL e LINQ-to-XML in applicazioni basate su Windows Presentation Foundation scritte in Visual Basic. Vedere il mio libro nella newsletter MSDN è,...

posted @ mercoledì 5 novembre 2008 18:50 | Feedback (0) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Nuova serie di screencast: ASP.NET Dynamic Data con Visual Basic 2008

Continuando ad occuparci delle novità introdotte dal Service Pack 1 in Visual Studio 2008 e .NET Framework 3.5, rendo oggi disponibile una nuova mini-serie di screencast relativi agli ASP.NET Dynamic Data utilizzati in ambito Microsoft Visual Basic 2008.   In breve, gli ASP.NET Dynamic Data offrono una piattaforma per la creazione di siti web in grado di accedere a sorgenti dati (come database) attraverso un modello basato su LINQ-to-SQL o ADO.NET Entity Framework, il tutto senza scrivere una sola riga di codice sfruttando una serie di automatismi e template predefiniti in Visual Studio 2008.   In questi...

posted @ lunedì 3 novembre 2008 23:36 | Feedback (1) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 LINQ ]

Le mie interviste al Visual Basic Team: Lucian Wischik

Oggi concludiamo la lunga serie delle mie interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Approfitto per ringraziare tutti i Team Member per la cortesia avuta nel rispondere a queste brevi domande e ringrazio ancora una volta Beth Massi per la disponibilità avuta nell’aiutarmi a realizzare questa iniziativa. Dopo aver conosciuto Adrian “Spotty” Bowles nella precedente intervista, oggi è la volta di Lucian Wischik, che lavora nel team come developer. La nota curiosa di questa...

posted @ lunedì 3 novembre 2008 19:04 | Feedback (2) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Le mie interviste al Visual Basic Team: Adrian "Spotty" Bowles

Riprendiamo oggi la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto Sophia Salim nella precedente intervista, oggi è la volta di Adrian “Spotty” Bowles, che lavora nel team come tester. Conosciamo subito Spotty Bowles!  1.       “Piacere di conoscerti Spotty! Iniziamo con una domanda semplice: di dove sei?” “Dall’Inghilterra a Philadelphia (9 anni prima di spostarmi a Redmond)” 2.       “Noi sappiamo che fai parte del Visual Basic Team, ma puoi dirci qualcosa...

posted @ sabato 1 novembre 2008 03:11 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

WPF: Un primo sguardo alla DataGrid con VB 2008

In un post di pochi giorni fa ho comunicato la release della prima versione del WPF Toolkit, un insieme di controlli aggiuntivi per WPF in Visual Studio 2008 Service Pack 1, che arricchiscono la nostra toolbox. Il toolkit è disponibile, free e open source, su CodePlex. Tra i vari controlli disponibile, quello più atteso è la DataGrid che sopperisce ad alcune mancanze di WPF. In questo post iniziamo a prendere confidenza con questo controllo, vedendo un semplicissimo esempio di utilizzo abbinato a LINQ-to-SQL. Dopo aver scaricato e installato il toolkit, aprite Visual Studio 2008 e...

posted @ venerdì 31 ottobre 2008 00:43 | Feedback (6) | Filed Under [ Visual Basic Visual Studio 2008 Windows Presentation Foundation LINQ ]

Le mie interviste al Visual Basic Team: Sophia Salim

Riprendiamo oggi la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto John Stallo nella precedente intervista, oggi è la volta di Sophia Salim, che lavora nel team del compilatore VB. Conosciamo subito Sophia Salim!  1.       “Piacere di conoscerti Sophia! Iniziamo con una domanda semplice: di dove sei?”   “Karachi, Pakistan”          2.       “Noi sappiamo che fai parte del Visual Basic Team, ma puoi dirci qualcosa di più circa il ruolo...

posted @ mercoledì 29 ottobre 2008 19:11 | Feedback (2) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Un po' di novità su Windows Azure

Se vi interessa leggere qualche dettaglio sulle novità della nuova piattaforma Windows Azure annunciata oggi alla PDC 2008, potete leggere in italiano questi due post  del team di MSDN Italia: Benvenuto Windows Azure PDC: Windows Azure Da non perdere, considerato che costituirà la base per il futuro del development anche su tecnologia .NET. Alessandro

posted @ martedì 28 ottobre 2008 00:06 | Feedback (0) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Le mie interviste al Visual Basic Team: John Stallo

Riprendiamo oggi la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto Eric Knox nella precedente intervista, oggi è la volta di John Stallo, che lavora come Program Manager dei tool RAD. Conosciamo subito John Stallo!  1.       “Piacere di conoscerti John! Iniziamo con una domanda semplice: di dove sei?”   “Sono nato e cresciuto a Perth, nell’Australia occidentale e ora vivo a Redmond da quando lavoro in Microsoft. I miei...

posted @ lunedì 27 ottobre 2008 19:02 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Creare una griglia in WPF per leggere e modificare cartelle di Excel con LINQ-to-XML (VB 2008)

In un mio articolo appena pubblicato su Visual Basic Tips & Tricks, abbiamo visto come creare, in Windows Presentation Foundation, una griglia “editabile” per la visualizzazione e la modifica di dati provenienti da interrogazioni formulate attraverso LINQ-to-Entities su un database SQL per il quale è stato creato un modello a oggetti grazie ad ADO.NET Entity Framework.   In questo post vediamo come una tecnica simile sia adattabile alla lettura, alla modifica e alla scrittura di cartelle di lavoro di Microsoft Excel in formato XML, sfruttando LINQ-to-XML e gli XML literals di Visual Basic 2008, nonchè...

posted @ lunedì 27 ottobre 2008 01:14 | Feedback (0) | Filed Under [ .NET Framework Visual Basic Windows Presentation Foundation LINQ ]

Nuovo articolo su VB T&T: "WPF: Trattare i dati con LINQ-to-Entities"

Segnalo che in area Articoli tecnici di Visual Basic Tips & Tricks è stato pubblicato oggi un mio nuovo articolo, il cui titolo completo è: "Creare una griglia in WPF per visualizzare, modificare e paginare dati ottenuti con LINQ-to-Entities in VB 2008". Nell'articolo viene illustrato come creare un'applicazione con Windows Presentation Foundation in grado di leggere i dati esposti da una tabella di un database SQL Server e mappati attraverso il modello a oggetti fornito dall'ADO.NET Entity Framework; i dati vengono poi interrogati con LINQ-to-Entities e visualizzati in una ListView attraverso il data-binding, per poi essere resi modificabili attraverso la personalizzazione della...

posted @ domenica 26 ottobre 2008 18:56 | Feedback (0) | Filed Under [ .NET Framework Visual Basic Windows Presentation Foundation LINQ ]

Le mie interviste al Visual Basic Team: Eric Knox

Riprendiamo oggi la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto Bill Horst nella precedente intervista, oggi è la volta di Eric Knox, che lavora come Developer Manager. Conosciamo subito Eric Knox!  1.       “Piacere di conoscerti Eric! Iniziamo con una domanda semplice: di dove sei?” “Sono del Maryland, circa 20 miglia sia da Baltimora, MD che Washington, DC.”   2.         “Noi sappiamo che fai parte del Visual Basic Team, ma...

posted @ domenica 26 ottobre 2008 01:33 | Feedback (4) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Nuovo Screencast: .NET Framework Client Profile

Riprendo oggi la serie di screencast relativi alle novità introdotte dal Service Pack 1 in .NET Framework 3.5 e Visual Studio 2008. Nel video odierno impariamo ad utilizzare il .NET Framework Client Profile, di cui abbiamo parlato in questo post, che ci permette di distribuire unitamente alle nostre applicazioni solo un subset di .NET Framework 3.5 con riferimento alla parte client dell'infrastruttura .NET (Win Forms, WPF, WCF, CLR, ClickOnce). La demo riguarderà la creazione di una semplice applicazione WPF, distribuita tramite ClickOnce e installata su un sistema Windows XP SP 2 senza alcuna versione di .NET presente. Per la prima volta...

posted @ mercoledì 22 ottobre 2008 20:47 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Visual Studio Express Editions Visual Studio 2008 Windows Presentation Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Le mie interviste al Visual Basic Team: Bill Horst

Riprendiamo oggi la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto Beth Massi nella precedente intervista, oggi è la volta di Bill Horst, che lavora nel VB IDE QA Team. Conosciamo subito Bill Horst!  1.      “Piacere di conoscerti Bill! Iniziamo con una domanda semplice: di dove sei?”   “Sono originario della città di Ellicott nel Maryland (USA). Ora vivo a Seattle, Washington.”   2.       “Noi sappiamo che fai parte del Visual Basic Team,...

posted @ mercoledì 22 ottobre 2008 18:59 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Le mie interviste al Visual Basic Team: Beth Massi

Riprendiamo oggi la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto Matt Gertz nella precedente intervista, oggi è la volta di Beth Massi, Visual Studio Community Program Manager.   Tengo in particolar modo a questa intervista per due motivi: il primo, perchè Beth è la persona che conosco un po’ di più nel VB Team e per la cordialità e la simpatia con cui si è sempre posta verso le...

posted @ lunedì 20 ottobre 2008 19:07 | Feedback (2) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

VB T&T Community After Hour (Firenze, 16/10/2008): slide, demo e ringraziamenti

Dopo alcuni giorni intensi, finalmente ho modo di postare con calma :-) Questo post è per comunicarvi la possibilità di scaricare sia le slide che il codice della demo proposta nella mia sessione di giovedì 16 ottobre scorso al Community After Hour di VB T&T tenutosi in occasione dell'evento Microsoft Days 08 a Firenze. Al termine del post troverete i link. Voglio però approfittare innanzitutto per ringraziare tutti coloro che sono intervenuti, coloro che sono rimasti con noi fino alle 22 di sera (ed eravate in tanti) dopo una giornata comunque ricca di approfondimenti, coloro che sono venuti solo per il...

posted @ domenica 19 ottobre 2008 19:08 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Le mie interviste al Visual Basic Team: Matt Gertz

Riprendiamo oggi la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto Jared Parsons nella precedente intervista, oggi è la volta di Matt Gertz. Conosciamo subito Matt Gertz! 1.    “Piacere di conoscerti Matt! Iniziamo con una domanda semplice: di dove sei?”   “E’ una domanda abbastanza difficile a cui rispondere J Sono nato a Pensacola, Florida, ma ho girato un bel po – la mia famiglia ha vissuto in 8 Stati diversi...

posted @ domenica 19 ottobre 2008 02:15 | Feedback (2) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Le mie interviste al Visual Basic Team: Jared Parsons

Riprendiamo oggi la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto Patrick Dengler nella precedente intervista, oggi è la volta di Jared Parsons, che lavora come developer nel Team. Conosciamo subito Jared Parsons! 1.     “Piacere di conoscerti Jared! Iniziamo con una domanda semplice: di dove sei?”   “Sono nato in Kentucky, salito nel Tennessee, ho vissuto in Alabama per un po’, poi sono tornato nel Tennessee e ho frequentato il...

posted @ giovedì 16 ottobre 2008 00:11 | Feedback (6) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Entity Framework: mostrare i file dell'Entity Data Model

Nel mio libro su LINQ, a pagina 339, si parla dei file Xml che costituiscono l'Entity Data Model nell'ADO.NET Entity Framework, osservando come sia possibile elencarli ed aprirli espandendo la cartella bin\debug o bin\release del progetto. Questo era il comportamento di default dell'IDE fino alla Beta 3 dell'Entity Framework, sulla quale sono stati testati gli esempi del capitolo (come avvisato nello stesso). Con l'avvento di Visual Studio 2008 Service Pack 1, il comportamento di default è cambiato. I file dell'Entity Data Model vengono ora inclusi nei metadati dell'assembly, tuttavia è possibile continuare a visualizzarli separatamente ponendo in essere la seguente procedura: 1. quando è...

posted @ giovedì 16 ottobre 2008 00:11 | Feedback (1) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 LINQ ]

LINQ e il .NET Framework Client Profile

In un precedente post, abbiamo introdotto il .NET Framework Client Profile, nuova feature introdotta da .NET Framework 3.5 Service Pack 1, che permette di includere nelle proprie distribuzioni solo un subset del full package di .NET 3.5 destinato esclusivamente alla distribuzione di applicazioni client.   In questi giorni, nel forum .NET di Visual Basic Tips & Tricks, si è parlato di alcune limitazioni del Client Profile, con particolare riferimento all’inclusione degli assembly che offrono il supporto a LINQ.   A tal proposito è utile leggere questo post di Justin Van Patten, del Team della Base Class Library,...

posted @ martedì 14 ottobre 2008 13:16 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Visual Studio 2008 LINQ ]

Le mie interviste al Visual Basic Team: Patrick Dengler

Riprendiamo oggi la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., ossia le persone che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto Jonathan Aneja nella precedente intervista, oggi è la volta di Patrick Dengler, che si occupa della diffusione del linguaggio in ambito small businness. Conosciamo subito Patrick Dengler! 1.    “Piacere di conoscerti Patrick! Iniziamo con una domanda semplice: di dove sei?”   “Sono nato a New York, cresciuto in California e poi mi sono trasferito a Redmond, Washington”   2.    “Noi sappiamo...

posted @ lunedì 13 ottobre 2008 19:32 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Le mie interviste al Visual Basic Team: Jonathan Aneja

Continuiamo la mia serie di interviste agli appartenenti al Visual Basic Team di Microsoft Corp., coloro che producono il linguaggio di programmazione Visual Basic e il relativo ambiente di sviluppo. Dopo aver conosciuto Lisa Feigenbaum nella precedente intervista, oggi è la volta di Jonathan Aneja, Program Manager per il compilatore e altre caratteristiche che interessano il runtime di Visual Basic.   Conosciamo subito Jonathan!   1.    “Piacere di conoscerti Jonathan! Iniziamo con una domanda semplice: di dove sei?”   “Toronto, Ontario – uno dei pochi posti in Canada che è effettivamente il *sud* di Seattle J” 2.    “Noi...

posted @ venerdì 10 ottobre 2008 21:20 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Un'altra demo sull'uso di LINQ con Open XML

Beth Massi (la conosceremo meglio in una delle prossime interviste al VB Team), che in questi giorni è ad Amsterdam a illustrare alcuni importanti aspetti dello sviluppo con Visual Basic 2008, WPF e LINQ, in una delle sue track ha illustrato alcuni esempi di utilizzo di LINQ-to-Xml per creare documenti in formato Open XML, sfruttando l'Open XML SDK v. 2.0 di Microsoft e Visual Basic 2008. So che a molti di voi l'argomento interessa, quindi vi consiglio di dare un'occhiata al post di Beth, la quale ha altresì reso disponibile per il download le slide e il codice della sua sessione. Alessandro

posted @ giovedì 9 ottobre 2008 18:19 | Feedback (0) | Filed Under [ Visual Basic Windows Presentation Foundation LINQ ]

Community After Hour ai Microsoft Days 08

Il Team di MSDN Italia ha reso disponibile l'elenco completo di tutti Community After Hour che seguiranno alle track MSDN e TechNet nell'ambito del tour Microsoft Days 08, comprensivo di agenda e abstract per ciascuna community. Potete consultare l'elenco nel blog di MSDN Italia a questo indirizzo. Approfitto per ricordare che Visual Basic Tips & Tricks sarà presente all'evento di Firenze il giorno 16 ottobre e si occuperà del percorso sviluppatori nel Community After Hour. Sarà anche un'occasione per salutarci e passare qualche piacevole momento insieme. Se volete venirci a trovare a Firenze, potete iscrivervi al nostro After Hour a questo indirizzo! Alessandro

posted @ giovedì 9 ottobre 2008 18:19 | Feedback (0) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Le mie interviste al Visual Basic Team: Lisa Feigenbaum

Proseguiamo, in questo post, la serie delle mie interviste al Visual Basic Team di Microsoft Corp., iniziate due giorni fa con Paul Vick. In questa intervista facciamo la conoscenza della simpaticissima Lisa Feigenbaum, Community Program Manager.   Lisa conosce Visual Basic Tips & Tricks, oltre che il sottoscritto per i contributi sul Visual Basic Developer Center, anche per il gruppo che abbiamo su FaceBook e ha mostrato grande cordialità verso la nostra Community come gli altri Team Members. Ok, presentiamoci a Lisa!   1. “Piacere di conoscerti Lisa! Iniziamo con una domanda semplice: di dove...

posted @ mercoledì 8 ottobre 2008 19:03 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Iscrizione per Firenze ai Community After Hour di VB T&T (evento Microsoft Days '08)

Il 16 ottobre prossimo, a Firenze, Visual Basic Tips & Tricks si occuperà del percorso sviluppatori al Community After Hour che avrà inizio alle ore 18.30 nell'ambito dell'evento Microsoft Days '08. Oltre alla registrazione all'evento, che potete fare qui, per poter accedere al Community After Hour di VB T&T dovrete fare l'iscrizione a questo indirizzo. Mi raccomando, è importantissimo!! Vi riporto, per comodità, le sessioni tecniche che saranno tenute dagli speaker di VB T&T: ore 19-20 - Utilizzo di LINQ in Windows Presentation Foundation - speaker: Alessandro Del Sole (Microsoft MVP - Visual Basic)Abstract: "Windows Presentation Foundation è la tecnologia per la creazione di...

posted @ martedì 7 ottobre 2008 23:33 | Feedback (7) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Le mie interviste al Visual Basic Team: Paul Vick

Con questo post diamo il via a una nuova iniziativa che spero possa incontrare il vostro gradimento. Ho infatti avuto il piacere di intervistare i membri del Visual Basic Team di Microsoft Corporation, che molto cordialmente hanno acconsentito a rispondere a qualche mia domanda. J   Visto che sono le persone che con il loro lavoro danno vita materialmente al nostro amato linguaggio di programmazione, col quale lavoriamo tutti i giorni, ho pensato che fosse una bella cosa poterli conoscere un po’ meglio, sia dal punto di vista tecnico che da quello umano/personale. Le interviste avranno cadenza di 2 a settimana...

posted @ lunedì 6 ottobre 2008 19:01 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Microsoft Days '08 - VB T&T sarà a Firenze, voi ci sarete? :-)

  Ho l'onore e il piacere di preannunciare una grande novità che riguarda la nostra Community in relazione all'evento Microsoft Days '08 per la data del 16 ottobre prossimo :-) Come probabilmente sapete, in questo mese di ottobre partirà un nuovo tour di eventi realizzato da Microsoft Italia e che toccherà diverse città italiane, dal nome "Microsoft Days '08". Gli eventi del tour saranno connotati dai due percorsi MSDN per sviluppatori e TechNet per professionisti IT. Nell'ambito di ciascun evento, ci saranno sessioni tecniche tenute da Microsoft durante la mattinata e nel primo pomeriggio, secondo l'agenda che potete consultare facendo clic qui. Quello...

posted @ mercoledì 1 ottobre 2008 23:50 | Feedback (6) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Libreria MSDN per VS 2008 SP 1 e SQL 2008 disponibile in italiano

Finalmente disponibile come download pubblico la libreria MSDN in italiano, aggiornata al Service Pack 1 di Visual Studio 2008. Va quindi a sostituire la precedente edizione, introducendo tutta la documentazione relativa alle novità del Service Pack 1. Si trova a questo indirizzo. La versione inglese, invece, è già on-line da un mese prima :-) Analogamente, è disponibile la documentazione italiana anche per SQL Server 2008 con i noti Books on line, scaricabile da qui. Alessandro

posted @ mercoledì 1 ottobre 2008 00:49 | Feedback (2) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Varie Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Visual Studio Tools for Office LINQ ]

MSDN Social

Da un pochino di tempo (non molto), è attivo un nuovo servizio messo a disposizione da Microsoft inerente il discorso del social networking e che interessa anche MSDN. Se, come me, frequentate l'area community internazionale del sito MSDN (forum, community center) e avete un vostro Windows Live ID, potete accedere col vostro account, creare il vostro profilo e aggiungere i vostri bookmark personali, organizzati per area di interesse (tag) e rendendoli condivisi, di modo che gli altri utenti iscritti possano visualizzarli. Anche voi sarete in grado di visualizzare i bookmark delle altre persone, vedere i tag più nutriti ecc. Oltre ai propri...

posted @ sabato 27 settembre 2008 03:15 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

E' uscito il mio nuovo libro: "Microsoft LINQ in Visual Basic 2008"

Ho il piacere di annunciare l'uscita ufficiale del mio nuovo libro dal titolo "Microsoft LINQ in Visual Basic 2008"! Edito da Edizioni FAG Milano, impreziosito da una nota sull'autore di Beth Massi (Microsoft Corp.) e dalla prefazione di Alessandro Teglia (Microsoft Italia), il mio nuovo libro affronta Microsoft LINQ dal punto di vista dello sviluppatore Visual Basic 2008, partendo dalle novità del linguaggio, passando per i provider LINQ standard fino ad arrivare a contesti di sviluppo diversi, come WPF, ASP.NET, Silverlight e .NET Compact. 13 capitoli e un sacco di esempi per introdurre LINQ secondo lo stile amichevole del testo che...

posted @ venerdì 19 settembre 2008 21:16 | Feedback (20) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

WPF: Una griglia personalizzata per interrogare i dati con LINQ

La grande Beth Massi ha realizzato un altro grande esempio di codice che mostra le possibili sinergie tra Windows Presentation Foundation e LINQ per la realizzazione di applicazioni data-centric con Visual Basic 2008. Come forse sapete, in WPF non è per il momento disponibile un controllo a griglia tipo la DataGridView di Windows Forms o la DataGrid di Silverlight (giusto per citarne un paio), bensì è in fase di sviluppo un controllo DataGrid attualmente scaricabile da CodePlex e in edizione CTP. Ciò premesso, Beth mostra la creazione di una griglia custom, mostrando tecniche di personalizzazione del controllo ListView tramite l'oggetto GridView, per...

posted @ martedì 16 settembre 2008 18:13 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

Visual Basic Tips & Tricks vi aspetta su FaceBook

Visual Basic Tips & Tricks è ora anche su FaceBook, il noto sito di social-networking, con un gruppo aperto a tutti gli iscritti alla nostra Community e a tutti coloro che vorranno unirsi. Si tratta di un gruppo pubblico, di cui ho il piacere di essere l’ideatore e il fondatore, il cui scopo è quello di favorire lo spirito di aggregazione non solo tra i nostri iscritti, ma anche tra persone di altre Community, perché il confronto con altre realtà (anche estere) costituisce una grande opportunità di crescita tecnica e personale. Tramite FaceBook, sarà...

posted @ martedì 16 settembre 2008 00:45 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Ridistribuire il database di esempio Microsoft Northwind

In questi giorni mi sono scontrato col grosso quesito relativo alla possibilità di ridistribuire il database dimostrativo, creato da Microsoft, chiamato Northwind che abbiamo utilizzato in area Articoli di VB T&T per LINQ-to-SQL e nei vari esempi LINQ su questo blog. Il grosso del mio problema risiede nel fatto che a breve (molto breve, ci siamo quasi..) uscirà il mio libro su LINQ in Visual Basic 2008 e, come di consueto, sarà possibile scaricare uno zip con tutti gli esempi di codice e molti fanno uso proprio di questo database. Inoltre, anche per un discorso di predisposizione di esempi per...

posted @ venerdì 12 settembre 2008 17:20 | Feedback (5) | Filed Under [ .NET Framework Visual Basic C# LINQ ]

TechEd SouthEast Asia 2008 - Sessions by Lisa Feigenbaum

Sulla Code Gallery di MSDN è stato pubblicato il materiale (slide e progetti sorgenti) utilizzato da Lisa Feigenbaum (Program Manager per l'editor di Visual Basic) nell'evento TechEd SouthEast Asia 2008. Tutto il materiale riguarda approfondimenti su Visual Basic 2008 e si va da LINQ a Virtual Earth, passando per Open XML. Decisamente da non perdere, al di là del fatto che provengono da una persona che conosce l'ambiente di lavoro di Visual Basic alla perfezione, ma perchè si tratta di esempi davvero interessanti; uno fra tutti mi ha colpito, si chiama Using Virtual Earth to plot Northwind addresses, che utilizza LINQ...

posted @ mercoledì 10 settembre 2008 00:40 | Feedback (0) | Filed Under [ .NET Framework Visual Basic Visual Studio 2008 LINQ ]

VB T&T ha un nuovo Microsoft MVP :-)

Oggi è una di quelle giornate particolari, in cui vorresti dire tutto e alla fine dici tutto il contrario. In cui le emozioni sono talmente forti da non capire bene cosa sta succedendo, ma che senti il bisogno di tirare fuori.   Oggi ho ricevuto una e-mail dal supporto dell’MVP Award di Microsoft che mi comunica che mi è stata conferita la nomina di Microsoft MVP per Visual Basic… Leggerla è stata un’emozione molto forte, mi tremavano le gambe.   Perché, capite da soli, il traguardo raggiunto è di quelli importanti, di quelli che ogni appassionato di programmazione come poi sono io sogna per...

posted @ sabato 6 settembre 2008 17:55 | Feedback (25) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ ]

VB 2008 SP 1: ordinamento dei tipi anonimi

Se avete utilizzato almeno qualche volta LINQ in Visual Basic 2008 prima dell'avvento del Service Pack 1, ottenendo tipi anonimi come risultati delle query, vi sarà sicuramente capitato di notare che l'ordinamento delle proprietà di ciascun tipo anonimo avveniva in modo alfabetico, indipendentemente da come avveniva la proiezione. Per essere più chiaro e comprensibile, considerate il seguente banale frammento di codice:         Dim query = From proc In Process.GetProcesses _                     Select proc.ProcessName, proc.Id, proc.BasePriority Tramite la clausola Select, proiettiamo in una collezione di tipi anonimi il nome del processo e l'Id di ciascun oggetto Process....

posted @ martedì 2 settembre 2008 16:37 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

LINQ-to-Xml: parsing di attributi booleani e Integer con VB 2008

Non so se vi è mai capitato di utilizzare LINQ-to-Xml per interrogare documenti contenenti elementi contraddistinti da attributi di tipo booleano, quindi con valore True o False. Sostanzialmente, in una situazione di questo tipo il valore dell’attributo è considerato come stringa ma può essere interpretato come boolean tramite una semplice operazione di parsing.   Consideriamo il seguente documento Xml riportante un elenco di prodotti aziendali:     <Product CategoryID="2" Discontinued="true" ProductID="5" ProductName="Chef                      Anton's Gumbo Mix"></Product>   <Product CategoryID="2" Discontinued="false" ProductID="6"            ProductName="Grandma's Boysenberry Spread"></Product>   <Product CategoryID="7" Discontinued="false" ProductID="7" ProductName="Uncle            Bob's Organic Dried Pears"></Product>   <Product CategoryID="2" Discontinued="false"...

posted @ giovedì 21 agosto 2008 01:21 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

Service Pack 1 per Visual Studio 2008: download completo

Coloro che hanno già installato il Service Pack 1 per Visual Studio 2008 hanno, quasi certamente, dovuto utilizzare il bootstrapper di pochi KBytes che poi richiede una connessione a Internet in fase di installazione, poichè scarica man mano i componenti necessari. Onestamente non ho mai amato questo genere di installazione, ho sempre preferito, laddove possibile, i full package. Ecco il link per scaricare un'immagine ISO contenente il Service Pack 1 per Visual Studio 2008 di circa 830 Megabytes. Una precisazione che ritengo non superflua: ricordate di scaricare il Service Pack nella stessa lingua di Visual Studio... ;-) Alessandro

posted @ domenica 17 agosto 2008 01:29 | Feedback (13) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Visual Studio Tools for Office LINQ Silverlight e Windows Phone ]

Tutorial su Silverlight e LINQ-to-SQL

LINQ-to-SQL non è direttamente supportato dalle applicazioni basate su Microsoft Silverlight. E' necessario, quindi, ricorrere ad un layer intermedio, per esempio un servizio WCF. Segnalo un tutorial proveniente dal sito ufficiale di Silverlight, in cui si parla di come creare un'applicazione che sfrutti un servizio WCF per accedere a un database SQL e mostrare i dati attraverso il controllo DataGrid di Silverlight stesso. Si trova a questo indirizzo e lo ritengo davvero interessante. Alessandro

posted @ martedì 5 agosto 2008 00:38 | Feedback (2) | Filed Under [ .NET Framework LINQ Silverlight e Windows Phone ]

LINQ: il mio prossimo libro finalmente completato!

Finalmente, dopo quasi 4 mesi di lavoro, oggi ho completato la scrittura del mio nuovo libro, dal titolo provvisorio "Microsoft LINQ in Visual Basic 2008". Andrà in stampa subito dopo le ferie estive e, se non ci sono intoppi, uscirà a settembre, sempre per Edizioni FAG. Le uniche anticipazioni che posso farvi riguardano, innanzitutto, gli argomenti che ho trattato. Pertanto, salvo cambiamenti, il libro sarà così strutturato: Cap. 1 - Introduzione a LINQ Cap. 2 - Le novità sintattiche di Visual Basic 2008 Cap. 3 - LINQ-to-Objects e gli operatori di query standard Cap. 4 - LINQ-to-SQL Cap. 5 - LINQ-to-DataSet Cap. 6 - LINQ-to-Xml Cap. 7 -...

posted @ domenica 3 agosto 2008 18:47 | Feedback (4) | Filed Under [ Visual Basic LINQ ]

VB 2008: Accedere a parti di documenti Open XML con Open XML SDK

Ancora una perla della grande Beth Massi del Visual Basic Team che, in questo suo ultimo post, mostra l'utilizzo congiunto di Visual Basic 2008, Open XML SDK e LINQ per accedere e modificare i documenti di Microsoft Word 2007 in formato Open Xml tramite codice. Ultimamente l'argomento ha riscosso un certo interesse anche nei forum della nostra amata Community, quindi, nonostante sia in inglese, vi consiglio di dargli un'occhiata, sia perchè è più il codice che il resto, sia perchè la semplicità espositiva di Beth rende sempre tutto più semplice. Bello davvero, quasi quasi ne prendo spunto! ;-) Alessandro

posted @ giovedì 31 luglio 2008 22:25 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

LINQ: il mio codice di luglio 2008 in formato Code Snippet

Ho appena pubblicato in area download di Visual Basic Tips & Tricks tutti i frammenti di codice dedicati a LINQ per Visual Basic 2008 pubblicati su questo blog nel mese di luglio. Troverete un file in formato .Vsi che installerà i code snippet sul vostro pc, rendendoli utilizzabili in Visual Studio 2008 e Visual Basic 2008 Express tramite l'Intellisense. I code snippet sono ripresi dai seguenti post: LINQ: Interrogare il registro con VB 2008 LINQ: enumerare i controlli di un form (VB 2008) LINQ: Interrogare l'elenco dei file recenti con VB 2008 LINQ e la Reflection (VB 2008) LINQ: ottenere gli argomenti della riga di comando Mentre il...

posted @ domenica 20 luglio 2008 13:41 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ: Interrogare il registro con VB 2008

Un altro possibile utilizzo di LINQ-to-Objects è quello che concerne l'interrogazione del registro di sistema, utilizzando le metodologie sintattiche già note. Per esempio, il seguente frammento di codice ottiene l'elenco di tutte le sottochiavi, figlie della chiave HKEY_LOCAL_MACHINE\Software, che iniziano con la lettera "M":         Dim registryKeys = My.Computer.Registry.LocalMachine.OpenSubKey("Software").GetSubKeyNames           Dim query = From key In registryKeys _                     Where key.StartsWith("M") _                     Order By key           'Solita iterazione per mostrare il risultato         For Each item In query             Console.WriteLine(item)         Next Come dire, LINQ everywhere! Alessandro

posted @ sabato 19 luglio 2008 09:48 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ: work-around per il metodo Last in LINQ-to-SQL

In un vecchio post parlammo dei metodi extension Last e LastOrDefault, dicendo che permettono di ottenere l'ultimo elemento di una sequenza che soddisfi la condizione specificata e che, però, non sono supportati in LINQ-to-SQL. Oggi vediamo un possibile work-around. In primo luogo, creiamo un nuovo progetto, eseguiamo la connessione al database (nell'esempio proposto, il famoso Northwind) e aggiungiamo una classe LINQ-to-SQL al progetto, chiamata Northwind.dbml. Quando il designer OR/M è attivo, trascinate la tabella Customers su di esso dalla finestra Esplora Server. Quindi, ipotizziamo di voler conoscere l'ultimo dei clienti tra quelli che risiedono nella città di Londra. Negli altri provider LINQ...

posted @ venerdì 11 luglio 2008 20:16 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ: enumerare i controlli di un form con extension methods

Nel precedente post, abbiamo visto come enumerare i controlli contenuti in un Windows Form tramite una semplice query LINQ. Lo stesso identico risultato si può ottenere sfruttando due metodi extension: OfType e Select. Il primo si comporta come la keyword TypeOf, sotto forma di estensione. Il secondo, si comporta come la clausola Select delle query. Vediamo come ottenere tutte le TextBox in un form con questa metodologia, per poi commentarla: Dim query = Me.Controls.OfType(Of TextBox).Select(Function(txtBox) txtBox.Name) OfType fa parte degli operatori di conversione di LINQ e riceve, come argomento, il tipo da ottenere. Select, invece, nella...

posted @ venerdì 11 luglio 2008 14:48 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ: enumerare i controlli di un form (VB 2008)

Oggi vediamo come sia possibile, tramite una query LINQ, enumerare i controlli contenuti in un oggetto System.Windows.Forms.Form. Supponendo di avere sulla nostra finestra diversi tipi di controlli, il seguente snippet ottiene tutte le TextBox, selezionando, per ciascuna di esse, il valore della proprietà Name:         Dim query = From controllo In Me.Controls _                     Where TypeOf (controllo) Is TextBox _                     Let txtBox = DirectCast(controllo, TextBox) _                     Select txtBox.Name L'operatore DirectCast ci occorre perchè noi vogliamo conoscere le informazioni delle TextBox, quindi dobbiamo convertire ciascun Control in questo particolare oggetto; in questo caso forse si apprezza meglio...

posted @ venerdì 11 luglio 2008 14:31 | Feedback (4) | Filed Under [ Visual Basic LINQ ]

LINQ: Interrogare l'elenco dei file recenti con VB 2008

Tra le migliaia di utilizzi possibili di LINQ-to-Objects, oggi vediamo come ottenere l'elenco dei file recenti. In primo luogo, otteniamo la cartella di sistema ove risiedono i collegamenti: Dim RecentFilesFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.Recent) Dopodichè effettuiamo una query per conoscere, ad esempio, il nome di ciascun file e la data di ultimo accesso: Dim RecentFiles = From recentFile In My.Computer.FileSystem.GetDirectoryInfo(RecentFilesFolder).GetFiles _                   Let NomeFile = recentFile.Name, UltimoAccesso = recentFile.LastAccessTime _                   Select NomeFile, UltimoAccesso L'oggetto RecentFile è determinato come di tipo FileInfo. Come potete osservare, abbiamo utilizzato la parola chiave Let per assegnare un identificatore specifico a una determinata...

posted @ giovedì 10 luglio 2008 20:08 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ: ottenere gli argomenti della riga di comando

Se la vostra applicazione riceve argomenti dalla riga di comando, niente di meglio che interrogarli con LINQ. Il seguente snippet ottiene il numero degli argomenti che iniziano con il simbolo /:         Dim arguments = Aggregate argument In My.Application.CommandLineArgs _                         Where argument.StartsWith("/") _                         Into Count() Sostituendo Aggregate con From e Into Count con Select o gli altri operatori del caso, potrete filtrare gli argomenti come preferite. Carino no? J Alessandro

posted @ mercoledì 9 luglio 2008 00:22 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

LINQ e la Reflection (VB 2008)

E' interessante come LINQ-to-Objects possa essere utilizzato nei confronti dei più disparati oggetti .NET. Negli esempi di codice "iniziatici" troviamo spesso query nei confronti di array o collection molto semplici, ma LINQ può essere utilizzato anche verso altri oggetti della libreria di classi base di .NET Framework. Un esempio è la Reflection. Per esempio, è possibile ottenere l'elenco di tutti gli assembly caricati dalla propria applicazione con una semplice espressione di questo tipo:         Dim assemblyList = From dll In My.Application.Info.LoadedAssemblies _                            Select dll.GetName.Name           For Each item In assemblyList             Console.WriteLine(item.ToString)         Next           Console.ReadLine() Con un po' di...

posted @ lunedì 7 luglio 2008 23:27 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Provider Oracle di esempio per ADO.NET Entity Framework

In attesa del rilascio di nuovi provider da parte di Microsoft per l'ADO.NET Entity Framework (ricordo che allo stato attuale della Beta l'unico disponibile è quello per SQL Server), c'è già qualcuno che si cimenta nella realizzazione di provider custom, come questo pubblicato sulla Code Gallery di MSDN e che si occupa di fornire supporto ai database Oracle. Poichè il procedimento di mapping è poi gestito dall'Entity Framework, si potrà utilizzare LINQ-to-Entities per gestire e interrogare i dati. Si trova a questo indirizzo, con codice sorgente a corredo. Alessandro

posted @ martedì 24 giugno 2008 13:48 | Feedback (3) | Filed Under [ .NET Framework LINQ ]

MSDN Community Links di Giugno 2008

Segnalo che sul blog del Team di MSDN Italia è appena stata pubblicata una serie di link ad articoli pubblicati nelle più importanti Community italiane dedicate allo sviluppo su tecnologia .NET. Ovviamente, non potevamo mancare anche noi di Visual Basic Tips & Tricks con ben 4 articoli segnalati! Se volete dare un'occhiata, il post di MSDN si trova a questo indirizzo. Alessandro

posted @ lunedì 23 giugno 2008 14:47 | Feedback (2) | Filed Under [ .NET Framework Visual Basic LINQ ]

LINQ: Il metodo extension ToDictionary

Tra i vari operatori di conversione disponibili in LINQ, per convertire in altro tipo di dato il risultato di una query, esiste un metodo extension chiamato ToDictionary che converte, per l'appunto, un risultato IEnumerable o IQueryable in una collezione di tipo Dictionary(Of T, T). In questo esempio vedremo il metodo in azione in uno scenario LINQ-to-Objects, ma si può utilizzare anche con gli altri provider LINQ. Supponiamo di avere un'applicazione Console in cui ci sia la classica e veloce classe Person: Public Class Person       'Campi pubblici per praticità     Public Name As String     Public LastName As...

posted @ sabato 21 giugno 2008 12:31 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Interoperabilità tra ADO.NET e LINQ-to-SQL

L'utilizzo classico di ADO.NET e LINQ-to-SQL possono convivere in un sistema ibrido di interoperabilità. Dopo aver stabilito l'origine dati è possibile, ad esempio, aprire una SqlConnection e passarne l'istanza al DataContext per eseguire interrogazioni su quest'ultimo oggetto. Nella presente dimostrazione facciamo riferimento al solito database Northwind. Innanzitutto, per pura praticità, creiamo un progetto Visual Basic per la Console. Tramite le modalità che già conosciamo, specifichiamo il database sopra citato come origine dati, affinchè Visual Studio generi per noi la stringa di connessione e un DataSet. Come tabella da interrogare successivamente scegliamo, sempre come esempio, la tabella Customers. Analogo procedimento seguiamo nell'aggiungere una classe LINQ-to-SQL...

posted @ mercoledì 18 giugno 2008 23:01 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ-to-Xml: leggere feed RSS in Visual Basic, con l'inferenza di schemi

Poco tempo fa abbiamo parlato, in questo post, di come sia possibile leggere feed RSS tramite codice Visual Basic 2008, sfruttando il metodo Load della classe XDocument che, oltre a leggere documenti Xml, può recuperare da Internet contenuti nel medesimo formato. Diverso tempo addietro, in quest'altro post, parlammo di un tool Microsoft chiamato Xml To Schema Inference Wizard, che aggiunge un modello di elemento a Visual Studio, in grado di generare schemi Xml a partire dai documenti Xml specificati. Grazie allo schema generato, viene abilitato il supporto di Intellisense anche nelle query LINQ-to-Xml che sfruttano la simbologia tipica di Visual Basic...

posted @ martedì 17 giugno 2008 19:28 | Feedback (6) | Filed Under [ Visual Basic LINQ ]

LINQ-to-Xml: Generare dinamicamente documenti ordinati

Come ormai probabilmente sapete, LINQ offre una clausola chiamata Order By, che permette di ordinare il risultato di una query a seconda dell'oggetto specificato. Con pochi passaggi è possibile leggere un documento Xml, ordinarlo e riscriverlo secondo l'ordinamento desiderato, sfruttando le embedded expression. Dato, ad esempio, un file che è la rappresentazione Xml della tabella Categories del database Northwind, decidiamo di ordinarlo in base alla descrizione della categoria. Questo il contenuto del file: <?xml version="1.0" encoding="utf-8"?> <Categories>   <Category CategoryID="1" CategoryName="Beverages" Description="Soft drinks, coffees, teas, beers, and              ales"></Category>   <Category CategoryID="2" CategoryName="Condiments" Description="Sweet and savory sauces, relishes, spreads,...

posted @ sabato 14 giugno 2008 12:48 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ & WPF: Creare file di codice XAML e utilizzarne i controlli con VB 2008

LINQ-to-Xml permette di creare e leggere agevolmente qualunque tipo di file a struttura Xml. Da questo concetto non sono esclusi i file .Xaml, che caratterizzano il lato “design” delle applicazioni basate su Windows Presentation Foundation.   In questo post vedremo come creare e leggere file .Xaml contenenti definizioni di interfaccia utente WPF, proprio utilizzando LINQ-to-Xml.   Lo scopo del gioco è questo: in WPF è possibile creare i cosiddetti FlowDocument, documenti dal contenuto dinamico e riadattabile al variare delle impostazioni dell’interfaccia. Se avete letto il capitolo 6 del mio libro su .NET 3.x, avete avuto modo di...

posted @ giovedì 5 giugno 2008 20:43 | Feedback (1) | Filed Under [ Visual Basic Windows Presentation Foundation LINQ ]

CodePlex, MSDN Code Gallery e browser a localizzazione italiana

Non so se vi è mai capitato di pubblicare progetti open-source su CodePlex o sulla Code Gallery di MSDN, ma vi voglio parlare delle mie problematiche esperienze con questi due importanti siti, suggerendo una soluzione che ho trovato proprio oggi e che spero possa essere utile ad altre persone. In diverse occasioni ho pubblicato codice sia su CodePlex che sulla Code Gallery di MSDN, i due siti che Microsoft dedica ai progetti open-source. C’è un retroscena, però, poco piacevole. Ogni qual volta tentavo di creare una c.d. “release” e di inviare dei file, non accadeva un bel niente! Dopo diversi tentativi...

posted @ martedì 3 giugno 2008 23:30 | Feedback (7) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ ]

Query personalizzate in LINQ-to-SQL

Se volete approfittare delle peculiarità dell'Object Relational Mapping di LINQ-to-SQL ma non volete rinunciare alle vostre abitudini nello scrivere query mediante istruzioni SQL, l'oggetto DataContext espone un comodo metodo chiamato ExecuteQuery. Supponiamo di avere un'applicazione connessa al database Northwind e che abbiamo già eseguito tutte le operazioni di mapping, con particolare riferimento alla tabella Orders, con successiva aggiunta dell'origine dati sotto forma di oggetto (vedere al riguardo questo mio articolo). Da codice, innanzitutto ottengo l'istanza del DataContext: Private dc As New NorthwindDataContext Quindi invio una serie di istruzioni SQL mediante il metodo ExecuteQuery, al fine di ottenere...

posted @ domenica 1 giugno 2008 14:06 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

LINQ-to-SQL: ottenere la riga selezionata di una DataGridView

Per ottenere la riga selezionata di una DataGridView, in LINQ-to-SQL è necessario eseguire delle operazioni diverse rispetto all'utilizzo dei Dataset. E' possibile sfruttare, ad esempio, un'espressione lambda. Considerate il seguente snippet, che potremmo aggiungere come codice del gestore dell'evento CurrentChanged del controllo BindingSource associato alla DataGridView: 'Ottiene la riga corrente Dim ID As Integer = DirectCast(DataGridView1.SelectedRows(0).Cells("IDCliente").Value, Integer) Dim CurrentCustomer As Customers = NorthwindDataContext.Orders.First(Function(p) p.CustomerID = ID) Ipotizzando di avere l'applicazione connessa al database Northwind e di voler conoscere il valore della cella che contiene l'ID cliente contenuto nella riga selezionata, in primo luogo otteniamo il valore della cella...

posted @ domenica 1 giugno 2008 02:30 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Esempio di LINQ-to-Dataset in ASP.NET (VB 2008)

Notoriamente non sono l’uomo di ASP.NET, ma ultimamente mi sto dedicando molto a questa tecnologia dal punto di vista di LINQ perché sto scrivendo il mio nuovo libro, dal titolo “LINQ in Visual Basic 2008”, e un ampio capitolo sarà dedicato a LINQ su ASP.NET.   Così proviamo insieme a dare un’occhiata a LINQ-to-Dataset, visto che è il flavour di LINQ meno documentato per le applicazioni Web. Il seguente esempio è molto semplice, si lavora con una sola tabella, ma almeno focalizziamo l’attenzione su alcuni punti.   La procedura iniziale è la seguente:   1.    Eseguo la connessione al...

posted @ venerdì 30 maggio 2008 14:51 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

Visual Studio 2008 Express Editions con Service Pack 1

Come ormai sapete, pochi giorni fa è stata resa disponibile per il download la prima Beta del Service Pack 1 di Microsoft .NET Framework 3.5 e Visual Studio 2008. Per un elenco delle novità potete consultare questo post del nostro mitico Antonio Catucci. Quello che vi voglio segnalare io, invece, è che sono già disponibili le edizioni Express di Visual Studio 2008 comprensive di Service Pack 1 Beta. La pagina di download è piena di (giusti) avvisi circa il fatto che si tratta di versioni Beta, quindi del tutto suscettibili di cambiamenti. Sono comunque un buon modo per sperimentare le...

posted @ martedì 27 maggio 2008 22:24 | Feedback (5) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions Visual Studio 2008 LINQ ]

LINQ-to-SQL: esempio di validazione personalizzata con VB 2008

Una delle caratteristiche più interessanti di LINQ-to-SQL è quella che permette di aggiungere al codice delle regole di validazione custom per i dati inseriti dall’utente, sfruttando una delle nuove caratteristiche del linguaggio Visual Basic 2008: i metodi parziali.   Supponiamo di avere un’applicazione Windows Forms che mostri l’elenco dei clienti contenuti nella tabella Customers del nostro caro database Northwind. Se non avete confidenza con le procedure da seguire per creare un’applicazione di base che sfrutti LINQ-to-SQL, vi consiglio di leggere questo mio articolo su VB T&T, ad ogni buon conto riassumo i passaggi in maniera...

posted @ martedì 27 maggio 2008 19:29 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ-to-XML: leggere feed Rss con Visual Basic

Con LINQ-to-XML è molto semplice recuperare i feed Rss di un sito web. Per esempio, i blog di VB T&T hanno una pagina dedicata a questo tipo di informazioni, che sono, in realtà, in formato Xml. Il metodo Load della classe XDocument di .NET 3.5 consente, tra l'altro, di leggere il contenuto di una pagina Web oltre che un file Xml fisico. Quindi potremmo scrivere codice simile per ottenere un elenco degli ultimi feed del mio blog:     Sub Main()           Dim Rss = XDocument.Load("http://community.visual-basic.it/alessandro/Rss.aspx")           Dim query = From elemento In Rss...<item> _                     Select Titolo =...

posted @ domenica 25 maggio 2008 18:29 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

ADO.NET Entity Framework: i primi video "How do I"

Se siete interessati all'infratruttura offerta dall'ADO.NET Entity Framework che, come ricordiamo, è la base su cui opera LINQ-to-Entities, potrebbero interessarvi i primi video tutorial realizzati dall'ADO.NET Team di Microsoft. L'elenco completo si trova a questo indirizzo e sono solo in lingua inglese. Alessandro

posted @ sabato 24 maggio 2008 13:04 | Feedback (2) | Filed Under [ LINQ ]

Le espressioni lambda in Visual Basic 2008

Segnalo questo ottimo articolo, tratto dal numero di settembre 2007 di MSDN Magazine, in cui vengono discusse le espressioni lambda in Visual Basic 2008. L'articolo è davvero molto completo, non solo dal punto di vista sintattico e dell'utilizzo delle lambda expressions ma anche dal punto di vista del "dietro le scene", ossia come il compilatore si comporti nei confronti di queste espressioni così importanti per LINQ. L'articolo è scritto da un membro del team di sviluppo del compilatore di Visual Basic, quindi un grande conoscitore dell'argomento. L'articolo è a questo indirizzo e, se siete interessati a LINQ, vi consiglio di dargli un'occhiata. Alessandro

posted @ giovedì 22 maggio 2008 18:32 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Creare feed Atom con Visual Basic 2008

Segnalo questo interessante esempio di codice per Visual Basic 2008, pubblicato sulla Code Gallery di MSDN, in cui viene illustrato come creare feed Atom nell'ambito di un'applicazione Web (quindi ASP.NET), sfruttando il namespace System.ServiceModel.Syndication di .NET 3.5 (quindi Windows Communication Foundation), interrogando e persistendo i dati in un database SQL (quindi LINQ-to-SQL). Nell'home page del progetto non c'è scritto, ma è un ottimo esempio di integrazione tra importanti aree di .NET Framework 3.5. Potete trovarlo a questo indirizzo. Alessandro

posted @ mercoledì 21 maggio 2008 18:06 | Feedback (1) | Filed Under [ .NET Framework Visual Basic Windows Communication Foundation LINQ ]

LINQ-to-SQL: secondo esempio di Optimistic Concurrency

Riprendo un esempio di codice illustrato in un post di qualche giorno fa, in cui abbiamo visto come, tramite il concetto di Optimistic Concurrency, LINQ-to-SQL fornisca delle modalità per risolvere il problema dell'invio di modifiche al database da parte di più utenti connessi. Ancora una volta sfruttiamo l'eccezione ChangeConflictException nell'ambito di un esempio di codice Visual Basic, puramente dimostrativo, in cui un primo utente predispone aggiornamenti per un prodotto nel database Northwind, un secondo utente predispone aggiornamenti al medesimo prodotto e li invia al database, il primo utente invia i propri cambiamenti al database:     Sub Main()

posted @ mercoledì 21 maggio 2008 18:00 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Terzo esempio di Entity SQL in Visual Basic 2008

Nell'ultimo post, al quale vi rimando per le note introduttive all'argomento, abbiamo visto come usare la classe ObjectQuery per eseguire interrogazioni nell'ambito di applicazioni basate sull'ADO.NET Entity Framework. L'esempio del post precedente, però, ha un limite: estrae tutti i dati dall'entità Products senza filtrarli. Filtrare i dati estratti dalla classe ObjectQuery è possibile sfruttando i metodi extension. Il seguente code snippet, che riprende quello del post precedente riferibile all'applicazione di esempio illustrata nello screen-cast su LINQ-to-Entities, estrae dall'entità Products tutti i prodotti il cui prezzo unitario sia inferiore a 15 (notate come la lettera D indichi che si tratta di un...

posted @ martedì 20 maggio 2008 00:48 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

Secondo esempio di Entity SQL in Visual Basic 2008

In questo precedente post abbiamo accennato all'esistenza di Entity SQL come altra metodologia di accesso ai dati in ambito ADO.NET Entity Framework oltre a LINQ-to-Entities. Sempre nel precedente post abbiamo visto come usare il metodo CreateQuery per eseguire un'interrogazione basata su sintassi SQL. Nel presente post, invece, esemplifichiamo un'altra metodologia, costituita dall'utilizzo della classe ObjectQuery esposta dal namespace System.Data.Objects. Si tratta di una classe generica che va a riferirsi all'entità su cui intervenire, il cui costruttore riceve come argomenti la classe "mappata" e l'istanza dell'Object Context. Riprendendo il consueto esempio del primo screen-cast su LINQ-to-Entities (a proposito, a breve il secondo), possiamo...

posted @ lunedì 19 maggio 2008 20:26 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

Esempio di Entity SQL in Visual Basic 2008

LINQ-to-Entities non è l'unica modalità di interrogare i dati mappati in applicazioni basate sull'ADO.NET Entity Framework. Esiste infatti un nuovo paradigma introdotto da Microsoft, chiamato Entity SQL. L'Entity SQL permette di sfruttare la sintassi SQL per interrogare dati mediante il metodo CreateQuery della classe ObjectContext. Riprendendo l'esempio di codice visto nello screen-cast su LINQ-to-Entities, in cui l'applicazione interroga la tabella Products del database Northwind sfruttando LINQ, la medesima tabella può essere interrogata con l'Entity SQL in questo modo: Imports System.Data.Objects   …   Private de As New NorthwidEntities   …   Dim istruzioni = "SELECT VALUE Prodotti FROM NorthwidEntities.Products AS Prodotti" Dim query...

posted @ sabato 17 maggio 2008 19:02 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

LINQ-to-Entities: ottenere il numero di modifiche salvate

Nel primo screencast dedicato a LINQ-to-Entities, e relativo sorgente, abbiamo visto come sia possibile persistere le modifiche nel database utilizzando il metodo SaveChanges della classe ObjectContext. Questo metodo restituisce un valore Integer, che è possibile sfruttare per ottenere il numero totale delle modifiche salvate. Quindi, riprendendo lo snippet relativo al salvataggio delle modifiche, lo possiamo riscrivere in questo modo: Private de As New NorthwidEntities   'Segue implementazione           Try             'Memorizza e mostra il totale delle modifiche salvate nel DB             Dim cambiamentiTotali As Integer =  de.SaveChanges()             MessageBox.Show("Cambiamenti salvati: " + cambiamentiTotali.ToString)         Catch ex As OptimisticConcurrencyException             de.Refresh(Objects.RefreshMode.ClientWins, de.Products)             Dim cambiamentiTotali As...

posted @ venerdì 16 maggio 2008 00:37 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Screencast: uno sguardo a LINQ-to-Entities

Ho realizzato un nuovo screencast per dare una prima occhiata a LINQ-to-Entities, in Visual Basic 2008. In questa prima parte vedremo come utilizzare i template di Visual Studio e creare una piccola applicazione data-bound nei confronti di una singola tabella, facendo un'overview delle caratteristiche. Nel prossimo video invece vedremo anche come sfruttare il designer di Visual Studio per il mapping di più tabelle relazionate tra loro. Ricordo che, per poter lavorare con LINQ-to-Entities, è necessario scaricare e installare la Beta 3 dell'Entity Framework e i tool per Visual Studio, ma trovate tutti i link in quest'altro mio post. Questo il materiale disponibile...

posted @ giovedì 15 maggio 2008 07:58 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

LINQ-to-SQL: primo esempio di Optimistic Concurrency

Una situazione che può verificarsi lavorando con LINQ-to-SQL è che più utenti connessi a un database possano inviare cambiamenti al database stesso, sollevando così dei conflitti. LINQ-to-SQL risolve la problematica sfruttando la cosiddetta Optmistic Concurrency. Sfruttando l’eccezione ChangeConflictException, è possibile determinare la modalità di gestione dell’invio dei cambiamenti al database da parte dei vari utenti. Considerate il seguente esempio di codice, in cui un primo utente predispone aggiornamenti per un prodotto nel database Northwind, un secondo utente predispone aggiornamenti al medesimo prodotto e li invia al database, il primo utente invia i propri cambiamenti al database:     Sub Main()

posted @ martedì 13 maggio 2008 08:24 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

LINQ-to-SQL: pluralizzazione dei nomi delle tabelle

Se avete avuto modo di utilizzare LINQ-to-SQL con database contenenti tabelle dai nomi in lingua italiana, magari con la localizzazione inglese di Visual Studio, avrete probabilmente notato che il designer OR/M dell'IDE aggiunge automaticamente la lettera "S" al nome stesso, rendendo il nome al plurale. Ad esempio, la tabella Ordini diventa, in Visual Studio, "Ordinis". Ciò è dovuto al fatto che, per default, Visual Studio (o meglio, il tool SQLMetal.exe che viene richiamato dietro le scene) esegue la pluralizzazione secondo le regole della grammatica inglese. Questo comportamento non accade nella localizzazione italiana di Visual Studio, ma per chi ha quella inglese...

posted @ domenica 11 maggio 2008 16:13 | Feedback (3) | Filed Under [ LINQ ]

Delay loading in LINQ-to-SQL

In LINQ-to-SQL è possibile stabilire il caricamento ritardato (delay loading) dei dati associati a una determinata colonna del database (quindi, parlando a livello di mapping, dei dati associati alla proprietà di una entity) al fine di caricare i dati stessi solo nel momento in cui vengono effettivamente utilizzati, affinchè sia anche possibile migliorare le performance dell'applicazione. Questo è possibile impostando su True la proprietà Delay Loaded di ciascuna proprietà della entity desiderata (generata allorquando si crea una classe LINQ-to-SQL che mappi la tabella di interesse), come nelle seguenti figure che si riferiscono alla tabella Employees del database Northwind, che contiene una...

posted @ venerdì 9 maggio 2008 16:55 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

LINQ, Visual Basic 2008 e .NET Compact Framework

Se avete voglia di vedere qualche esempio di codice in merito all'utilizzo di LINQ e Visual Basic 2008 con riferimento allo sviluppo Mobile basato su .NET Compact Framework 3.5, vi consiglio la lettura di questo post di Jim Wilson il quale, oltre ad aver realizzato un video tutorial in materia, fornisce tre esempi di codice relativi ai vari paradigmi di LINQ nell'ambito della programmazione per smart device. Lo so, è in inglese.. ma di post simili dedicati a Visual Basic 2008 non ce ne sono molti. Anzi, speriamo che questo tipo di trattazioni aumentino in futuro. L'indirizzo da visitare è questo. Alessandro

posted @ giovedì 8 maggio 2008 22:48 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Screencast: esempio d'uso del controllo LinqDataSource di ASP.NET

Ho realizzato un nuovo screencast, che mostra un primo e introduttivo esempio d'uso del controllo LinqDataSource di ASP.NET in un'applicazione Web scritta in Visual Basic 2008. Viene illustrato come, senza scrivere neanche una riga di codice, sia possibile effettuare il binding ai dati contenuti in una sorgente dati (ambito LINQ-to-SQL) e mostrarli in maniera molto completa all'utente. Tutto è riepilogato nella pagina dedicata agli screencast che si trova a questo indirizzo, ad ogni buon conto qui c'è il materiale inerente questo video: Download video Download codice sorgente Anteprima video Spero possa essere utile. Alessandro

posted @ martedì 6 maggio 2008 18:30 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Libreria MSDN per Visual Studio 2008 disponibile per il download

E' disponibile per il download pubblico la Libreria MSDN per Visual Studio 2008, in lingua italiana. E' datata 1 febbraio 2008 e la cosa importante è che non richiede la presenza di Visual Studio 2008 (Standard o superiore) sul pc. Questo potrebbe essere molto utile per coloro che, ad esempio, utilizzano le edizioni Express. Certo, con questa edizione poco vi potrà essere utile la documentazione sullo sviluppo Mobile o per Office, ma c'è molto, molto altro rispetto alla MSDN Express. La trovate a questo indirizzo (e potete scegliere anche altre localizzazioni). Alessandro

posted @ lunedì 5 maggio 2008 23:20 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ ]

Risorse per ADO.NET Entity Framework e LINQ-to-Entities

A questo indirizzo della Code Gallery di MSDN è disponibile un elenco di tool ed esempi di codice dedicati all'ADO.NET Entity Framework e LINQ-to-Entities, alcuni dei quali volti a semplificare la generazione dei modelli a oggetti e lo sviluppo basato sull'Entity Framework. Se vi interessa l'argomento LINQ-to-Entities, potrebbe essere utile inserire nei Preferiti il link segnalato e visitarlo periodicamente, trattandosi di un risultato di ricerca basato su tag, quindi, potenzialmente, sempre in crescita. Personalmente ho trovato molto utile la pagina intitolata ADO.NET Entity Framework & LINQ to Relational Data che contiene strumenti "unsupported" (tra cui l'utilissimo Entity Framework Mapping Helper) ed esempi di codice. Spero...

posted @ domenica 4 maggio 2008 02:00 | Feedback (4) | Filed Under [ LINQ ]

Esempio di LINQ-to-SQL in ASP.NET: terza parte

Giusto ieri abbiamo visto, in questo post, come aggiungere un cliente al nostro database Northwind, tramite LINQ-to-SQL, nell'ambito di una Web application. Oggi vediamo come eliminare un cliente dal database e come aggiornarne i dati. Partiamo proprio da quest'ultimo aspetto aggiungendo, in fase di design, un nuovo pulsante per l'aggiornamento dei dati di un cliente. Supponiamo di voler modificare la città del customer precedentemente aggiunto. Vediamo in azione un'espressione lambda che estrae il singolo elemento di una sequenza (quindi il nostro customer) corrispondente ai criteri specificati:     Protected Sub Button4_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button4.Click

posted @ giovedì 1 maggio 2008 15:03 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Esempio di LINQ-to-SQL in ASP.NET: seconda parte

Riprendiamo il discorso iniziato in questo precedente post, per andare un pochino avanti con l'esempio di utilizzo di LINQ-to-SQL in un'applicazione basata su ASP.NET. Questa volta vediamo come aggiungere un nuovo cliente al database sfruttando il consueto oggetto DataContext. Prima, però, apportiamo alcune modifiche al codice. Innanzitutto il riferimento al DataContext, che portiamo a livello di classe: Private dc As New NorthwindDataContext Quindi, incapsuliamo la query precedente in un metodo piuttosto che nel gestore dell'evento Click del pulsante, operazione che ci tornerà poi utile:     Protected Sub ExecuteQuery()         Dim customers = From customer In dc.Customers _                         Order By...

posted @ mercoledì 30 aprile 2008 20:36 | Feedback (5) | Filed Under [ Visual Basic LINQ ]

Primo esempio di LINQ-to-SQL e ASP.NET

LINQ, come probabilmente già sapete o immaginate, non è prerogativa delle applicazioni Windows ma può agevolmente migliorare la produttività anche di applicazioni Web basate su ASP.NET. In questo post vedremo un esempio iniziale di utilizzo di LINQ-to-SQL in una semplice applicazione Web che estrae un elenco di clienti dal database Northwind. In successivi post vedremo come estendere il codice implementando, ad esempio, funzionalità di modifica dei dati. Ovviamente prendo in considerazione Visual Basic 2008. :-) Con Visual Studio 2008 aperto, quindi, si crea un'applicazione Web in Visual Basic 2008. E' necessario aggiungere una connessione al database Northwind, come di consueto. Dopodichè si aggiunge una classe LINQ-to-SQL al...

posted @ martedì 29 aprile 2008 19:46 | Feedback (5) | Filed Under [ Visual Basic LINQ ]

Interrogare documenti HTML con LINQ-to-XML

Gli XML Literals di Visual Basic 2008 sono, come ormai sapete, estremamente versatili per creare e interrogare documenti XML. Una interessante possibilità offerta dagli XML Literals, però, è costituita anche dall'utilizzo di questa feature per interrogare documenti Html, in quanto costituiti da tag. In questo post la grande Beth Massi ci mostra come interrogare, tramite LINQ-to-XML, un documento Html sfruttando i literals di Visual Basic 2008. Bello e... semplice vero? Alessandro

posted @ domenica 27 aprile 2008 23:19 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Un debug visualizer per LINQ-to-SQL

Il grande Scott Guthrie ha realizzato un debug visualizer per Visual Studio 2008, che consente, in fase di debug, di visualizzare l'equivalente SQL delle query expression scritte tramite LINQ ed eventualmente utilizzarle. In sostanza, quando si esegue il debug del codice viene aggiunta una piccola lente di ingrandimento all'Intellisense che, una volta richiamata, mostra una finestra contenente le istruzioni SQL. Screen-shot, visualizer, descrizione e codice sorgente sono disponibili in questo post di Scott. Alessandro

posted @ domenica 27 aprile 2008 16:31 | Feedback (2) | Filed Under [ Visual Basic C# Visual Studio 2008 LINQ ]

LINQ-to-Entities parte del Service Pack 1 di .NET 3.5

Dal blog del Team di ADO.NET perviene la notizia che ADO.NET Entity Framework, attualmente in Beta 3, sarà rilasciato come parte integrante del futuro Service Pack 1 di .NET Framework 3.5 e di Visual Studio 2008. Questo framework offre l'infrastruttura per LINQ-to-Entities, un'altra implementazione di LINQ che consente una forte astrazione concettuale in maniera indipendente dal tipo di database sottostante, offrendo il mapping 1:1 tra database e entity. La fonte originale della notizia è qui, mentre una buona descrizione dell'Entity Framework si trova su WikiPedia. Se nel frattempo volete divertirvi a vedere cosa offre LINQ-to-Entities, potete installare la Beta 3 dell'Entity Framework scaricandola da qui e successivamente...

posted @ venerdì 25 aprile 2008 18:32 | Feedback (1) | Filed Under [ Visual Studio 2008 LINQ ]

LINQ Framework Design Guidelines

Una delle feature più interessanti di LINQ è costituita dalla possibilità di estendere questa tecnologia mediante la realizzazione di provider personalizzati. Con riferimento a questa fattispecie, sono disponibili alcune guidelines a cui i propri assembly dovrebbero conformarsi e che potete trovare a questo indirizzo. Sebbene siano in inglese e i code snippet siano solo in C#, vale la pena di fare lo sforzo di dare una letta alla pagina perchè sono descritte tante tecniche interessanti (e anche il perchè della loro implementazione).  Alessandro

posted @ mercoledì 23 aprile 2008 23:04 | Feedback (1) | Filed Under [ LINQ ]

LINQ: ottenere uno specifico elemento di una sequenza

In LINQ esiste un metodo extension chiamato Single, che restituisce uno specifico elemento di una sequenza. Tramite una espressione lambda, inoltre, è possibile specificare una condizione che deve essere soddisfatta per compiere l'operazione. Si ipotizzi uno scenario di un'applicazione data-bound al consueto database Northwind (quindi LINQ-to-SQL). In questo scenario è stato eseguito il mapping della tabella Customers. Si ipotizzi, quindi, di voler conoscere tutte le informazioni relative al cliente il cui codice identificativo sia "ANATR". Ecco come questo sia possibile con poco codice: Private dc As New NorthwindDataContext         'Ottiene l'oggetto (quindi tutte le informazioni) relativo al...

posted @ martedì 22 aprile 2008 23:23 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

.NET Framework 3.5 Enhancement Training Kit

Dal blog di Mario Fontana vengo a conoscenza del rilascio del .NET Framework 3.5 Enhancement Training Kit, che va a completare il materiale di evangelism fornito con il Visual Studio 2008 Training Kit. Si tratta di una risorsa molto utile, soprattutto per coloro che sviluppano con ASP.NET e coloro che vogliono approfondire le conoscenze sui data services in ADO.NET e sull'ADO.NET Entity Framework (definito anche LINQ-to-Entities). L'unico problema è che screencast, slide e demo non sono ancora disponibili mentre sono presenti alcuni Lab. Il rimanente materiale verrà reso disponibile nella prossima versione. Se intanto volete dargli un'occhiata, potete trovarlo a questo indirizzo oppure...

posted @ martedì 22 aprile 2008 20:18 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Visual Studio Tools for Office LINQ ]

LINQ: serie completa di articoli su VB T&T

Con l'uscita del mio ultimo articolo dedicato a LINQ-to-Dataset, si conclude la serie completa di articoli introduttivi a LINQ in Visual Basic 2008 nella community Visual Basic Tips & Tricks. Di seguito riporto i link a ciascun articolo, sperando che li troviate di interesse (mi pregio di lasciare il commento di Diego): Introduzione a LINQ: LINQ-to-DataSet (pubblicato il 19/04/2008)Livello: IntermedioCome approfittare della potenza di LINQ per interrogare e manipolare i dati presenti in un DataSet. Con codice a corredo. Introduzione a LINQ: LINQ-to-XML (pubblicato il 14/04/2008)Livello: IntermedioQuattro esempi per capire e 'accettare' LINQ - perché alla terza puntata non è più una diavoleria. Si...

posted @ lunedì 21 aprile 2008 21:51 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

LINQ: Il metodo extension Last (ma non per LINQ-to-SQL)

Le operazioni di interrogazione dei dati utilizzando la sintassi di LINQ permettono di sfruttare un metodo extension chiamato Last, che restituisce l'ultimo elemento di una sequenza. Ad esempio, il seguente frammento di codice:         Dim elencoProcessi = From processo In Process.GetProcesses _                             Select processo           Console.WriteLine(elencoProcessi.Last.ProcessName)         Console.ReadLine() restituisce l'ultimo elemento della collection di processi. Purtroppo, come è stato sollevato in un Newsgroup di Microsoft, questo metodo non è supportato in LINQ-to-SQL, nonostante l'Intellisense lo mostri come disponibile. Il seguente codice, infatti, solleva un'eccezione di tipo NonSupportedException (ipotizzando il binding al database Northwind):         Dim dc As New NorthwindDataContext           Dim customers...

posted @ lunedì 21 aprile 2008 20:51 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

LINQ-to-SQL e Windows Communication Foundation in applicazioni N-tier

Ancora una serie di grandi articoli dalla grande Beth Massi, che spiegano come creare, in Visual Basic 2008, applicazioni N-tier che utilizzino LINQ-to-SQL per accedere ai dati sfruttando servizi basati su Windows Communication Foundation. Un grande esempio di integrazione tra tecnologie per applicazioni businness dall'architettura estremamente moderna. Il codice sorgente, molto sostanzioso, può essere scaricato oltre che visualizzato negli articoli. Vi lascio il link all'ultima parte, dalla quale potrete accedere anche alle precedenti, che si trova a questo indirizzo. Alessandro

posted @ lunedì 21 aprile 2008 20:22 | Feedback (1) | Filed Under [ Visual Basic Windows Communication Foundation LINQ ]

LINQ e Option Strict On

Nel forum di Visual Basic Tips & Tricks dedicato a LINQ si è parlato di una eventuale conflittualità tra l'utilizzo della clausola Option Strict On e LINQ che, come noto, sfrutta l'inferenza dei tipi, che pertanto non debbono essere dichiarati esplicitamente, contrariamente a quanto si richiede con Strict On attivo. L'inferenza dei tipi è attivata per default nelle opzioni del compilatore ed è determinabile, via codice, da Option Infer On/Off. Considerate la seguente banalissima applicazione Console: Option Strict On   Module Module1       'Solleva un errore perchè il tipo non è specificato     Private Variabile       Sub Main()           'Funziona per...

posted @ domenica 20 aprile 2008 23:11 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ: convertire in matrici il risultato delle query

Grazie ad alcuni metodi extension, i risultati delle query eseguite con la sintassi di LINQ possono essere agevolmente convertiti in altri tipi di dato. Uno di questi è costituito dalle matrici.   Esiste, infatti, un metodo extension chiamato ToArray che converte un risultato di tipo IEnumerable(Of T) in un array di oggetti di tipo corrispondente. Detto in altre parole, considerate ad esempio il seguente documento XML che riepiloga una breve lista di contatti:   <?xml version="1.0"?> <Contatti>   <Contatto Nome="Alessandro" Cognome="Del Sole" Blog="http://community.visual-basic.it/Alessandro"/>   <Contatto Nome="Mario" Cognome="De Ghetto" Blog="http://deghetto.wordpress.com"/>   <Contatto Nome="Diego" Cognome="Cattaruzza" Blog="http://community.visual-basic.it/Diego"/>   <Contatto Nome="Gianluca" Cognome="Cannalire" Blog="http://community.visual-basic.it/Gianluca"/> </Contatti>   Il seguente codice Visual...

posted @ sabato 19 aprile 2008 18:55 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Due nuovi screen-cast per LINQ-to-SQL in Visual Basic

Ho preparato due nuovi screencast dedicati a tecniche inerenti LINQ-to-SQL nell'ambito di applicazioni scritte in Visual Basic 2008. Questi sono i titoli (con link diretto al download): Richiamare stored procedures con LINQ-to-SQL Utilizzare LINQ-to-SQL con database SQL Compact Edition 3.5 Come sempre, se avete commenti, critiche o suggerimenti per migliorare.. sono sicuramente graditi. Alessandro

posted @ sabato 19 aprile 2008 02:57 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Richiamare una stored procedure in LINQ-to-SQL

L’oggetto DataContext, che caratterizza LINQ-to-SQL, permette di richiamare da codice, in maniera molto semplice, le stored procedures contenute nel database come se fossero dei classici metodi. Questo è possibile grazie all’architettura object-oriented del modello di programmazione.   Supponiamo di aver creato un’applicazione (Console, per questo breve scenario) alla quale sia collegato il nostro caro amico Northwind. Dopo aver creato la classe LINQ-to-SQL come ormai sappiamo fare, aggiungiamo le due tabelle Employees e Orders, tra le quali viene stabilita una relazione.   Affinché le stored procedures siano utilizzabili da codice, è necessario trascinarle sulla superficie del designer della...

posted @ martedì 15 aprile 2008 23:24 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

Utilizzare LINQ con SQL Compact Edition 3.5

LINQ-to-SQL non è prerogativa esclusiva di SQL Server (full o Express), ma può essere utilizzato anche nei confronti di database basati su SQL Compact Edition 3.5.   Una differenza non molto simpatica è che, nell’utilizzo di quest’ultimo, a differenza di quanto abbiamo visto finora con SQL classico, l'Object Relational Designer di Visual Studio 2008 non supporta il drag’n’drop di oggetti del database sulla superficie delle classi LINQ-to-SQL. Ciò significa che il file di mapping andrebbe generato a manina, con tutta la fatica che ne consegue.   Fortunatamente esiste un tool, chiamato SqlMetal.exe, fornito con Windows SDK per...

posted @ martedì 15 aprile 2008 18:06 | Feedback (4) | Filed Under [ Visual Basic LINQ ]

LINQ: Esempio di calcoli con i metodi extension

LINQ, nelle sue varie forme espressive, mette a disposizione alcuni metodi extension specifici per operazioni di calcolo nelle query.   Prendiamo in considerazione, ad esempio, la tabella Products dell’ormai noto database dimostrativo Northwind. Consideriamo questa poiché espone una colonna chiamata UnitPrice, cioè il prezzo unitario di ciascun prodotto.   Supponendo di aver già eseguito il collegamento del database, la creazione di una classe LINQ-to-SQL e il binding all’oggetto Products generato dall’IDE (operazioni descritte in questo mio articolo su VB T&T), ipotizziamo di voler ottenere la media dei prezzi unitari indicati nella colonna. Per questa operazione (come per...

posted @ lunedì 14 aprile 2008 23:33 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

LINQ: Creare un database SQL "al volo" con Visual Basic 2008

Grazie agli oggetti DataContext, che caratterizzano LINQ-to-SQL, la creazione di database tramite codice è un procedimento reso ancora più semplice.   Nel seguente esempio verrà creato un database SQL a partire da una classe che rappresenta una tabella (quindi una entity) e che riprende la tipica connotazione dei file di mapping. In primo luogo, però, è necessario aggiungere un riferimento all’assembly System.Data.Linq.dll che, come sappiamo, fornisce l’infrastruttura per LINQ-to-SQL. La nostra tabella contiene tre colonne per identificare degli ipotetici sviluppatori. La classe che la definisce è la seguente:   Imports System.Data.Linq, System.Data.Linq.Mapping   <Table(Name:="Developers")> Public Class Developers       Private _name...

posted @ lunedì 14 aprile 2008 17:32 | Feedback (6) | Filed Under [ Visual Basic LINQ ]

LINQ: validare i dati con il controllo ErrorProvider in Visual Basic

In questo post vediamo come implementare, in un’applicazione data-bound, la validazione dei dati immessi in una DataGridView tramite il controllo ErrorProvider, utilizzando LINQ-to-SQL. Ho preso spunto da questo progetto della mitica Beth Massi, rielaborandolo in modo semplificato e velocizzato, al fine di avere meno confusione nell’implementazione e focalizzare l’attenzione sui concetti “caldi” (Beth considera, invece, un più complesso esempio di tipo master-detail). Innanzitutto dovete avere a disposizione il database Northwind. Dopodiché, dovete creare un’applicazione Windows Forms collegata a Northwind e nella quale sia implementata una classe LINQ-to-SQL. Se questi passaggi sono per voi una novità, potete leggere il mio articolo introduttivo a...

posted @ domenica 13 aprile 2008 19:57 | Feedback (8) | Filed Under [ Visual Basic LINQ ]

Nuovo screencast: esportare dati in Excel con LINQ e VB 2008

Vi presento questo nuovo screencast in cui propongo un esempio di codice per creare una cartella di lavoro di Microsoft Excel, in formato XML, a partire da una tabella del database Northwind utilizzando LINQ (LINQ-to-SQL per leggere i dati, LINQ-to-XML per scrivere la cartella di lavoro), il tutto da codice Visual Basic 2008. Grazie agli XML Literals di Visual Basic 2008 anche la creazione di questo tipo di documenti assume un aspetto decisamente più semplice, sfruttando la potenza delle nuove feature di .NET Framework. Una precisazione, che ho dimenticato di fare nel video: grazie alle embedded expression è possibile modificare molte...

posted @ venerdì 11 aprile 2008 18:55 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Descendants e Ancestors in Visual Basic 9: un aiuto dal team di VB

Se vi occorre un aiuto nel capire l'utilizzo degli XML Literals di Visual Basic 2008 e soprattutto capire come funziona la gerarchia dei Descendants e degli Ancestors (che tornerà poi utile nelle query con LINQ-to-Xml), una buona mano ve la dà questo post del team di sviluppo di Visual Basic 2008. E' in inglese, lo so... ma è davvero una buona lettura. Se poi avete un po' di confidenza con la lingua, vi accorgerete che è scritto in maniera piuttosto semplice. Alessandro

posted @ giovedì 10 aprile 2008 00:46 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Operazioni di aggiunta/rimozione record in LINQ-to-SQL

Molto spesso nel lavorare con i dati si ha la necessità di aggiungere e rimuovere, tramite codice, record alle tabelle. In questo post vedremo come questo sia possibile in LINQ-to-SQL, utilizzando Visual Basic 2008. Presupposto alla lettura di questo post è l'aver visionato il mio articolo introduttivo a LINQ-to-SQL pubblicato su Visual Basic Tips & Tricks pochi giorni fa, al fine di conoscere i passaggi necessari per aggiungere una connessione al database dimostrativo Northwind e una classe LINQ-to-SQL all'applicazione. La classe LINQ-to-SQL dovrà essere la rappresentazione tipizzata della tabella Employees. Quindi, una volta trascinata questa dal database al designer della classe, e dopo...

posted @ mercoledì 9 aprile 2008 22:31 | Feedback (10) | Filed Under [ Visual Basic LINQ ]

Nuovo screencast per Visual Basic 2008: LINQ-to-Dataset

Segnalo la disponibilità di un nuovo screencast che ho realizzato sempre in merito a LINQ, nell'ambito di Visual Basic 2008. Questa volta facciamo un'introduzione a LINQ-to-Dataset e all'utilizzo delle query expression nei confronti degli oggetti Dataset, nell'ambito della programmazione basata su database. Con questo video concludiamo la panoramica introduttiva a LINQ in Visual Basic 2008. Nei futuri screencast prenderemo in considerazione casi più specifici e reali, avendo acquisito i concetti di base. Lo screencast è scaricabile da qui. Sperando come sempre che possa esservi utile, attendo i vostri eventuali feedback. Alessandro

posted @ mercoledì 9 aprile 2008 00:48 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ-To-XML: 4 nuovi screen-cast per Visual Basic 2008

Segnalo la disponibilità di 4 nuovi screen-cast che ho realizzato in merito a LINQ-To-XML utilizzato in applicazioni Visual Basic 2008, area di LINQ della quale in Community non c'eravamo ancora occupati. I video sono piuttosto brevi, delle "pillole", in modo da focalizzare l'attenzione sugli aspetti fondamentali (il più lungo dura 15 minuti). Vi consiglio di scaricarli nella sequenza progressiva dell'elenco, per avere meglio chiaro il filo logico che li contraddistingue. Questo è l'elenco: Utilizzo delle classi del namespace System.Xml.Linq I valori letterali di Visual Basic 2008 Eseguire query su file XML esistenti Creare file XML con query ed embedded expressions Spero che li troviate...

posted @ lunedì 7 aprile 2008 00:48 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ-To-SQL: Nuovo articolo su Visual Basic Tips & Tricks

Prosegue la serie di articoli introduttivi a LINQ nella nostra Community. Nel nuovo articolo, appena pubblicato su Visual Basic Tips & Tricks, introduco il discorso relativo a LINQ-To-SQL con due esempi di applicazioni Windows Forms e uno di applicazione Windows Presentation Foundation, rigorosamente scritte in Visual Basic 2008. Se, come me, vi state appassionando a LINQ, vi consiglio di dargli un'occhiata perchè vengono affrontati diversi concetti interessanti in merito all'interazione con i database SQL. Sperando che possiate trovarlo utile, vi segnalo che si trova a questo indirizzo dell'area Articoli di Visual Basic Tips & Tricks. La prossima puntata della nostra mini-serie riguarderà l'introduzione di LINQ-To-XML. Alessandro

posted @ domenica 6 aprile 2008 20:04 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Vsi Builder 2008

Volevo comunicare che giusto oggi è stata rilasciato Vsi Builder 2008, la nuova versione del mio tool realizzato nell'ambito della Community di Visual Basic Tips & Tricks. Per chi non lo conosce, Vsi Builder è un tool per sviluppatori che, tramite una comoda e semplice interfaccia grafica, consente la creazione di pacchetti di installazione in formato .Vsi per la distribuzione di contenuti aggiuntivi per Visual Studio 2005/2008 (Code snippet, progetti Macro, controlli per la toolbox, componenti aggiuntivi e modelli di progetto/elemento/starter kit). L'interfaccia grafica e gli strumenti sono sostanzialmente gli stessi rispetto alla precedente versione, ci sono però le seguenti novità infrastrutturali: viene...

posted @ sabato 5 aprile 2008 19:24 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ ]

LINQ: Unione di due sorgenti e filtro con metodi Extension

Tra le varie opportunità messe a disposizione da LINQ, molte rientrano nell'ambito dei metodi Extension. In questo post vedremo come, tramite i metodi Union e Where, sia possibile unire due sorgenti dati separate ma dello stesso tipo e filtrarle successivamente. Supponiamo di avere due distinti file XML, ciascuno contenente una piccola lista di contatti. Primo file (Contatti.Xml): <?xml version="1.0" encoding="utf-8" ?>   <Contatti>   <Contatto Nome="Alessandro" Città="Cremona"/>   <Contatto Nome="Diego" Città="Trieste"/>   <Contatto Nome="Antonio" Città="Milano"/>   <Contatto Nome="Mario" Città="Belluno"/>   <Contatto Nome="Gianluca" Città="Firenze"/> </Contatti> Secondo file (ContattiDue.Xml): <?xml version="1.0" encoding="utf-8" ?>   <Contatti>   <Contatto Nome="Luciano" Città="Padova"/>   <Contatto Nome="Maurizio" Città="Milano"/>   <Contatto Nome="Renato" Città="Varese"/>   <Contatto Nome="Sergio" Città="Vicenza"/> </Contatti> In primo luogo, quindi,...

posted @ sabato 5 aprile 2008 18:35 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

LINQ: Query su una matrice in-line

Con LINQ è possibile eseguire velocemente una query su una matrice istanziata direttamente sulla medesima riga di codice della clausola From:         Dim risultato = From nome In New String() {"Antonio", "Mario", "Diego", "Sergio", "Alessandro"} _                         Where nome.StartsWith("A") _                         Order By nome _                         Select nome Nella fattispecie la query seleziona le stringhe che iniziano con la lettera "A", eseguendo un ordinamento crescente. Alessandro

posted @ sabato 5 aprile 2008 17:39 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

Da MSDN Italia i video delle sessioni del Launch 2008

Il Team di MSDN Italia ha reso disponibili i video delle sessioni tecniche che si sono svolte all'evento Launch 2008, per la presentazione di Visual Studio 2008, SQL Server 2008 e Windows Server 2008. E' possibile guardare i video on-line e scaricare il materiale disponibile. Un'ottima opportunità soprattutto per chi non ha avuto la possibilità di presenziare a un evento davvero molto bello e ben organizzato. I dettagli sull'iniziativa sono a questo indirizzo del Blog di MSDN Italia. Alessandro

posted @ sabato 5 aprile 2008 16:28 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Visual Studio 2008 Visual Studio Tools for Office LINQ ]

Automatizzare le query LINQ in Visual Studio 2008

Segnalo quest'add-in, peraltro open-source, per Visual Studio 2008 che permette di automatizzare la creazione di query LINQ tramite l'aggiunta al progetto di specifici template che si integrano nel designer di Visual Studio e che, una volta stabilita la sorgente dati, consentono di generare interrogazioni tramite pochi clic di mouse. Le query così generate vengono automaticamente tradotte sotto forma di codice managed ed è possibile vederne l'anteprima all'interno di una nuova e specifica finestra aggiunta all'IDE. Carina anche l'idea di aggiungere uno screen-cast per capire come si usa. L'add-in, chiamata Visual LINQ Query Builder, è ospitata sulla Code Gallery di MSDN a questo...

posted @ venerdì 4 aprile 2008 14:16 | Feedback (2) | Filed Under [ Visual Studio 2008 Visual Studio Extensibility LINQ ]

LINQ: Binding di un documento XML a un controllo DataGridView

Il risultato di una query LINQ, qualunque sia il tipo restituito (ad es. IQueryable, IEnumerable, IOrderedEnumerable) espone un metodo extension chiamato ToList, che converte il risultato stesso della query in una collection generica di tipo List (Of T). Questo metodo può essere sfruttato, ad esempio, per il binding del risultato di una query a un controllo DataGridView. In questo post vedremo come collegare il risultato di una query eseguito su un documento XML a una DataGridView. Quindi, ipotizziamo di avere una semplice applicazione Windows Forms su cui siano presenti un controllo DataGridView e un BindingNavigator, per sfogliare i dati. La base...

posted @ giovedì 3 aprile 2008 00:27 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

LINQ: Rimuovere la dichiarazione XML dagli elementi

Quando si utilizza LINQ-To-XML per scrivere su disco un file XML è necessario considerare che, anche qualora si lavori con oggetti XElement piuttosto che XDocument, l'utilizzo del metodo Save di tali oggetti aggiunge automaticamente la dichiarazione XML. Ciò potrebbe non essere il comportamento desiderato se si desidera creare file personalizzati dalla struttura XML ma dal comportamento custom. Considerate il seguente frammento:         Dim doc As XElement = <Prova>                                   <Nodo1>Valore</Nodo1>                               </Prova>             doc.Save("C:\prova.xml") Il risultato che produce è il seguente, pur non avendo scritto esplicitamente la dichiarazione XML: <?xml version="1.0"?> <Prova> <Nodo1>Valore</Nodo1> </Prova> Le alternative, quindi, sono due. L'utilizzo del metodo WriteTo dell'oggetto...

posted @ lunedì 31 marzo 2008 23:27 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Esempio d'uso di anonymous types in LINQ-To-XML (VB 2008)

In questo post vediamo come utilizzare LINQ-to-XML (detto anche XLINQ) per leggere informazioni da un'ipotetica lista di contatti e popolare una ListView con queste informazioni, ricorrendo all'uso dei tipi anonimi. In un'applicazione Windows Forms di esempio è presente una ListView, con tre colonne: Nome, Città e ID (ricordate, quindi, di impostare la proprietà View su Details). Il seguente file Xml può costituire la base su cui lavorare: <?xml version="1.0"?> <Contatti>   <Contatto Nome="Alessandro" Città="Cremona" ID="1"/>   <Contatto Nome="Mario" Città="Belluno" ID="2"/>   <Contatto Nome="Diego" Città="Trieste" ID="3"/>   <Contatto Nome="Antonio" Città="Milano" ID="4"/> </Contatti> Ipotizzando di voler popolare la ListView al caricamento dell'applicazione con una...

posted @ domenica 30 marzo 2008 15:34 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

LINQ: Popolare una Combobox con il valore di elementi XML (VB 2008)

Mi sono trovato a rispondere a una richiesta in cui si aveva la necessità di popolare una Combobox con il valore degli elementi di un file XML nell'ambito di un'applicazione Windows Forms scritta in Visual Basic. Invece che utilizzare le classiche classi del namespace System.Xml, riscriviamo il tutto utilizzando LINQ-To-XML. Supponiamo di avere il seguente file XML, che contiene un elenco di fiori. Il nome di ciascun fiore dovrà poi essere aggiunto alla Combobox: <?xml version="1.0" encoding="utf-8" ?> <Fiori>   <Fiore>Rosa</Fiore>   <Fiore>Begonia</Fiore>   <Fiore>Margherita</Fiore> </Fiori> Nell'evento Load del form, poi, aggiungiamo il seguente codice:     Private Sub Form1_Load(ByVal sender As System.Object,...

posted @ venerdì 28 marzo 2008 17:55 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Video gratuiti on-line per imparare LINQ, con VB 2008

Segnalo questo sito, chiamato myVBProf, che offre la possibilità di seguire dei webcast on-line dedicati a LINQ in Visual Basic 2008. In particolare l'attenzione viene focalizzata su LINQ-To-Xml e LINQ-To-SQL, quindi due aspetti molto importanti di questa nuova feature. Considerato che il materiale è riferibile a Visual Basic 2008, mi sembra un'opportunità ulteriormente interessante. Si trova qui. Alessandro

posted @ giovedì 27 marzo 2008 18:46 | Feedback (2) | Filed Under [ Visual Basic LINQ ]

Una nuova iniziativa dalla Newsletter "MSDN Flash"

  Segnalo questa nuova e interessante iniziativa del Team di MSDN Italia, grazie alla quale coloro che si iscriveranno alla NewsLetter MSDN Flash potranno partecipare all'estrazione di alcuni premi come una licenza di Visual Studio 2008, una maglia BE-IT, uno Smartphone e una consolle Microsoft XBox. Inoltre, in qualità di iscritti alla Newsletter, si potrà avere accesso a consistenti sconti nell'acquisto di libri di informatica, potendo altresì accedere ad un archivio di capitoli di esempio che verranno via via proposti dai migliori libri selezionati. Vi riporto un estratto del lancio dell'iniziativa:   MSDN Flash: la newsletter dedicata al mondo dello sviluppo applicativo e’ sempre più...

posted @ mercoledì 26 marzo 2008 19:22 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ ]

Nuovo screen-cast: introduzione a LINQ-To-SQL

Dopo un po' di tempo dai precedenti, rendo oggi disponibile un nuovo screen-cast su Visual Basic 2008, un'introduzione a LINQ-To-SQL. Si tratta, come negli altri casi, di una serie di esempi introduttivi, che non possono certamente coprire la vastità dell'argomento, ma che possono essere una buona base di partenza per approcciare la tecnica di programmazione in questione. In particolare viene dato risalto alla modalità fortemente tipizzata di interagire con i dati grazie a LINQ-To-SQL. Gli esempi prendono in considerazione il noto database Northwind, che ben si presta a scenari didattici vista la sua completezza (potete scaricarlo da qui se non lo avete)....

posted @ mercoledì 26 marzo 2008 17:25 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Nuova serie di articoli dedicati a LINQ, su VB T&T

Oggi è uscito su Visual Basic Tips & Tricks un mio nuovo articolo, dal titolo Introduzione a LINQ: LINQ-To-Objects che illustra i principali concetti riferibili alle interrogazioni di collection di oggetti .NET utilizzando le nuove forme sintattiche messe a disposizione da .NET Framework 3.5. Con questo articolo diamo inizio a una mini-serie (4 in tutto, secondo le mie previsioni) di articoli introduttivi a questo importante aspetto di .NET 3.5. Ce ne occuperemo dal punto di vista del developer Visual Basic e affronteremo gli aspetti legati anche a LINQ-To-SQL, LINQ-To-Xml e LINQ-To-Dataset. Anche nei confronti di questa importante feature di VB 2008, la...

posted @ lunedì 24 marzo 2008 22:00 | Feedback (8) | Filed Under [ Visual Basic LINQ ]

LINQ: Esempio d'uso dell'operatore Like

LINQ consente di utilizzare un operatore di confronto chiamato Like. Tale operatore consente di confrontare la stringa specificata con un’altra e restituisce True laddove il confronto sia riuscito. Come sempre, vediamo un piccolo code snippet per chiarire il concetto. La seguente riga di codice ottiene l’elenco di tutti i file presenti nella directory corrente, memorizzandoli in una nuova collection di stringhe:         Dim files = My.Computer.FileSystem.GetFiles(CurDir) Ipotizziamo di voler estrarre dall’elenco dei file solo quelli che hanno estensione .Exe. L’obiettivo si può raggiungere utilizzando la seguente query expression di esempio:         Dim elencoFile = From file In...

posted @ lunedì 24 marzo 2008 16:50 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ: utilizzo di condizioni con le clausole Skip e Take

In un precedente post abbiamo visto l’utilizzo delle clausole Skip e Take di LINQ per escludere o includere indiscriminatamente un determinato numero di elementi nel risultato di una query. In questo post vediamo come aggiungere una condizione secondo cui gli elementi debbano essere esclusi dal risultato. Considerate la seguente riga di codice che ottiene l’elenco dei processi attivi:         Dim elencoProcessi = Process.GetProcesses   Da tale elenco vogliamo escludere quelli il cui codice identificativo sia rappresentato da un numero inferiore a 5000. Tale obiettivo si raggiunge con la seguente query expression:         Dim risultato = From processo In...

posted @ lunedì 24 marzo 2008 00:59 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

LINQ: Esecuzione di un conteggio con la clausola Aggregate (VB 2008)

Con LINQ è possibile eseguire dei calcoli nell’ambito delle query. In particolare, è possibile eseguire il conteggio, la somma e la media degli elementi recuperati mediante l’interrogazione. In questo post vedremo come eseguire il conteggio degli elementi rilevati tramite una query. L’esempio sarà, per forza di cose, volutamente semplice ed applicato a un oggetto di piccola entità. Supponiamo, quindi, di avere una classe Cliente che ha due proprietà, Nome (che indica il nome del cliente) e Città (che indica la città ove risiede il cliente): Class Cliente       'Sempre per velocità utilizziamo dei campi     'pubblici, ricordando che...

posted @ domenica 23 marzo 2008 22:11 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

LINQ: le clausole Skip e Take nelle query con Visual Basic 2008

LINQ implementa due speciali clausole da utilizzare nelle query, Skip e Take. Skip consente di non includere nel risultato della query il numero specificato di elementi (in base all'ordine stabilito), mentre Take consente di aggiungere al risultato della query solo il numero specificato di elementi. Vediamo un esempio di codice per chiarire il discorso. Scriviamo, in primo luogo, una banalissima classe Nomi, con due campi Nome e ID in questo modo: Class Nomi       'Nota: per velocità usiamo dei campi pubblici,     'in uno scenario reale si implementano delle proprietà     Public Nome As String     Public Id As...

posted @ giovedì 20 marzo 2008 00:55 | Feedback (6) | Filed Under [ Visual Basic LINQ ]

Ottenere gli attributi di elementi XML con i Literals di Visual Basic 2008

LINQ-to-Xml mette a disposizione, come ormai noto, molti oggetti per leggere, creare ed interrogare documenti XML anche al fine di recuperare i dati di interesse dal loro interno, atteso che questo tipo di documento si usa anche com base dati. Tramite gli XML Literals di Visual Basic 2008 e appositi metodi Extension, è possibile ottenere contenuti specifici del documento XML. Ad esempio, considerate il seguente snippet:         Dim Nodi = <Nodi>                        <Nodo Nome="Primo nodo"/>                        <Nodo Nome="Secondo nodo"/>                        <NodoNonValido Nome="Terzo nodo"/>                        <Nodo Nome="Quarto nodo"/>                    </Nodi> L'elemento Nodi contiene al suo interno tre elementi Nodo e un elemento chiamato NodoNonValido....

posted @ domenica 16 marzo 2008 16:58 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Esempio di ordinamento in una query LINQ (con e senza tipi anonimi) in Visual Basic 2008

In un precedente post abbiamo visto come eseguire una semplicissima query LINQ su una collection di oggetti per estrarre solo i dati di nostro interesse. Riprendiamo quel post e il relativo codice per vedere due nuovi concetti: l'ordinamento tramite la clausola Order By e l'uso di un tipo anonimo. Supponiamo di avere una classe Impiegato, con due proprietà Nome e Ruolo: Class Impiegato       Private name As String     Private role As String       Property Nome() As String         Get             Return name         End Get         Set(ByVal value As String)             name = value         End Set     End Property       Property Ruolo() As String        ...

posted @ domenica 16 marzo 2008 16:34 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Scrivere sezioni CData con LINQ-to-Xml e Visual Basic 2008

I documenti XML non supportano l'inserimento di caratteri speciali all'interno dei nodi. Per questo scopo è possibile utilizzare delle apposite sezioni CData, al cui interno è possibile inserire dati dalla connotazione diversa da quella tipica XML e che, quindi, possono contenere anche caratteri speciali. LINQ mette a disposizione un apposito oggetto chiamato XCData, il cui costruttore riceve come argomento una stringa che viene inserita appunto come sezione CData all'interno di un documento XML. Questo esempio in Visual Basic 2008 mostra come inserire una sezione CData all'interno di un documento XML, utilizzando l'oggetto XCData:     Dim stringa As String = "Questa stringa contiene caratteri...

posted @ venerdì 14 marzo 2008 19:02 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Ottenere l'elenco dei processi attivi con LINQ in VB 2008

Tramite una semplicissima query in LINQ, è possibile ottenere l'elenco dei processi attivi selezionando, tra l'altro, solo le proprietà di ciascun processo che ci interessano, separate da una virgola:         Dim elenco = From processo In Process.GetProcesses _                      Select processo.ProcessName, processo.Id La collection elenco, poi, conterrà solo le due proprietà selezionate (nel caso specifico il nome del processo e il suo numero identificativo). La collection può poi essere iterata come segue:         For Each proc In elenco             Console.WriteLine("Processo {0} - ID: {1}", proc.ProcessName, proc.Id.ToString)         Next         Console.Read() Molto più semplice delle precedenti versioni di Visual Basic, vero? Alessandro  

posted @ giovedì 13 marzo 2008 21:29 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Interazione tra LINQ e VSTO: Linq-to-Xml in Visual Basic 2008

In questo precedente post abbiamo visto come, all'interno di una soluzione a livello di un documento di Microsoft Word 2007, creata con i Visual Studio Tools for Office, sia possibile utilizzare LINQ per interrogare una serie di collection esposte dall'applicazione host. In quel frangente, dato un documento in cui due diversi utenti hanno applicato delle revisioni, abbiamo utilizzato LINQ-To-Objects per estrarre le revisioni apposte da uno solo dei due revisori. L'obiettivo di questo post è esattamente lo stesso, ma lo raggiungeremo utilizzando LINQ-To-Xml. In sostanza, creeremo un documento Xml al quale aggiugneremo dei nodi in maniera dinamica. Detti nodi conterranno i dati...

posted @ lunedì 10 marzo 2008 18:31 | Feedback (1) | Filed Under [ Visual Basic Visual Studio Tools for Office LINQ ]

Esempio di interazione tra LINQ e VSTO (con Visual Basic 2008)

Come ormai sapete, LINQ è quella novità del .NET Framework 3.5  che consente di eseguire interrogazioni su un gran numero di tipologie di sorgenti dati. Tra le tantissime possibilità che abbiamo in .NET, possiamo utilizzare LINQ per interrogare, ad esempio, le proprietà di un documento di Microsoft Word 2007 all'interno di una soluzione a livello di documento creata con i Visual Studio 2008 Tools for Office. Nel seguente esempio, prendiamo in considerazione un documento di Word 2007 all'interno del quale hanno partecipato due diversi revisori (nella fattispecie due account utente sul mio pc), ognuno dei quali ha aggiunto le proprie correzioni. Come potete...

posted @ sabato 8 marzo 2008 18:57 | Feedback (1) | Filed Under [ Visual Basic Visual Studio Tools for Office LINQ ]

Primi screen-cast su LINQ in VB 2008 disponibili

Proseguendo nell'iniziativa dei miei screen-cast su Visual Studio 2008, volevo comunicarvi che ho reso disponibili i primi tre video introduttivi a LINQ e alle novità nel linguaggio Visual Basic, giunto alla versione 9.0. Ho utilizzato Visual Basic 2008 Express Edition, di modo che tutti possano provare gli argomenti senza difficoltà. Il seguente è l'elenco degli screen-cast (fare click per scaricare): Le novità del linguaggio di Visual Basic 2008 - prima parte LINQ-To-Objects - prima parte LINQ-To-Objects - seconda parte Come sempre, potete visualizzare l'elenco completo dei tutorial facendo clic qui. Sono sempre bene accetti feedback, suggerimenti e critiche. Preciso che si tratta di tutorial introduttivi, LINQ è un...

posted @ giovedì 6 marzo 2008 23:07 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

LINQ: gli esempi Visual Basic del mio blog nella Code Gallery di MSDN

Ho deciso di pubblicare gli esempi di codice relativi a LINQ-To-Xml in Visual Basic 2008, che avete trovato in questo blog, anche nella Code Gallery di MSDN. E' stata anche una scusa per iscrivermi alla Gallery di Microsoft e capire come funziona questo servizio (molto simile a CodePlex, ma con un'unica licenza selezionabile e prettamente dedicata a singoli esempi di codice piuttosto che a interi progetti open source). Nella pagina dedicata troverete una serie di archivi zip scaricabili, contenenti codice sorgente in Visual Basic 2008, tradotti in lingua inglese e rilasciati secondo la Microsoft Public License. L'home page della risorsa si trova...

posted @ mercoledì 5 marzo 2008 00:47 | Feedback (0) | Filed Under [ Visual Basic LINQ ]

VB 2008 e il supporto a XML con LINQ

Come avrete letto in più sedi, la novità forse più importante di .NET Framework 3.5, che influenza tutti i linguaggi gestiti, è LINQ. Con questo post iniziamo una serie di articoletti brevi dedicati alle caratteristiche di LINQ e alle novità che esso introduce. Tra le varie fantastiche cose che LINQ permette di fare, osserviamo come questo aggiunga a Visual Basic il supporto per il linguaggio XML in fase di scrittura del codice (LINQ to Xml). Considerate questo brevissimo snippet, che crea un elemento XML contenente i titoli di alcuni articoli che ho scritto per VB T&T:         Dim linqSample = <Articoli>

posted @ lunedì 3 marzo 2008 21:04 | Feedback (2) | Filed Under [ Visual Basic Visual Studio Express Editions LINQ ]

LINQ: creare nodi XML tramite query (Visual Basic 2008)

Con LINQ-to-Xml è possibile aggiungere nodi ed elementi XML in maniera dinamica. Ciò significa che non siamo vincolati a documenti XML dal contenuto prestabilito, come ad esempio quello del precedente post. Infatti, a partire da una sorgente dati e con una query, è possibile creare nodi, elementi ed attributi a seconda dei dati desiderati. Un esempio sarà sicuramente chiarificatore. Supponiamo di avere una collection generica di sviluppatori: Alessandro, Mario e Diego (i nomi non sono affatto casuali! :-)). Alessandro e Mario sviluppano in .NET, Diego in VB 6. Dalla nostra collection vogliamo estrarre solo (ovviamente..) gli sviluppatori .NET e creare degli elementi XML...

posted @ lunedì 3 marzo 2008 21:03 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ: Salvare un file XML con Visual Basic 2008

Nell'utilizzo di LINQ-to-Xml, la classe XDocument rappresenta un documento XML. Questa classe espone un comodissimo metodo Save che permette di salvare su disco il documento XML su cui si sta lavorando. Considerate il seguente snippet, che evidenzia la comodità dei cosiddetti XML Literals (la possibilità di utilizzare tag XML direttamente nel codice Visual Basic):         Dim doc As XDocument = <?xml version="1.0"?>                                <Sviluppatori>                                    <DotNet>                                        <Nome>Alessandro</Nome>                                        <Nome>Mario</Nome>                                    </DotNet>                                    <VB6>                                        <Nome>Diego</Nome>                                    </VB6>                                </Sviluppatori>           doc.Save("C:\developers.xml") Come potete osservare, l'utilizzo del metodo Save è davvero semplice. Quello che è importante ricordare è che, se utilizziamo la classe XDocument, dobbiamo...

posted @ lunedì 3 marzo 2008 20:18 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

Visual Studio 2008 Tools for Office System: il mio primo articolo su MSDN Italia

E' con immensa gioia e soddisfazione che vi segnalo la disponibilità del mio primo articolo per Microsoft, su MSDN Italia. L'articolo, dal titolo Visual Studio 2008 Tools for Office System, introduce in modo chiaro e schematico questi strumenti, facendo una panoramica introduttiva su tutte le varie fasi dello sviluppo di una soluzione VSTO, partendo dalla scelta del modello di progetto fino alla distribuzione, distinguendo, inoltre, tra soluzioni a livello di documento e di applicazione. Potete leggere l'articolo facendo clic qui. Approfitto per ringraziare il Team di MSDN Italia, per la cordialità manifestata in tutte le fasi della stesura. Alessandro

posted @ giovedì 28 febbraio 2008 13:39 | Feedback (8) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ ]

I miei screencast personali su Microsoft Visual Studio 2008

Volevo comunicarvi che ho iniziato la registrazione di screencast personali, dedicati a Visual Studio 2008 (in particolare Visual Basic 2008), che potete scaricare, in formato Windows Media, da questo indirizzo per poi guardarveli con calma in locale. I principali argomenti trattati saranno i Visual Studio 2008 Tools for Office, Windows Presentation Foundation e LINQ. Al momento ne sono disponibili solo alcuni, ma nei prossimi giorni il materiale disponibile aumenterà. Mi preme sottolineare che non si tratta di registrazioni da "professionista", sebbene abbia cercato di dare ugualmente un tocco professionale, pertanto cercate di perdonare eventuali imprecisioni (soprattutto nell'audio): sono i primi che registro, quindi...

posted @ mercoledì 27 febbraio 2008 14:12 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Varie Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 Visual Studio Tools for Office LINQ ]

LINQ-To-Xml: Visual Basic 2008 e i namespace XML, tra Intellisense e inferenza di schemi

Quando lavoriamo con documenti XML di grandi dimensioni o che contengono molti nodi, può capitare di non ricordare con esattezza tutti gli elementi e/o attributi che caratterizzano i vari nodi. Lavorando con LINQ, quindi, sebbene aiutati dall’Intellisense, potremmo avere qualche difficoltà. Sarebbe quindi interessante implementare una sorta di code snippet che facilitino l’utilizzo degli elementi XML nell’esecuzione delle nostre query.   In questo post vedremo come, nel progettare l’esecuzione di una query con LINQ e Visual Basic 2008, sia possibile utilizzare i namespace XML nella scrittura di codice managed e come utilizzare l’inferenza negli...

posted @ lunedì 25 febbraio 2008 20:07 | Feedback (6) | Filed Under [ Visual Basic LINQ ]

E-Book gratuito su LINQ

Segnalo la disponibilità di un e-book gratuito, edito da Microsoft Press, dal titolo "Introducing Microsoft LINQ", scritto dagli italiani Marco Russo e Paolo Pialorsi (autori, tra l'altro, di alcuni webcast disponibili su MSDN). L'unica pecca del libro è quella di essere in inglese :-) Per il resto è un testo molto valido ed è possibile scaricare un archivio zip contenente tutti i sorgenti di esempio, sia per Visual Basic che per Visual C#. Potete raggiungere il sito ufficiale di Introducing LINQ facendo clic qui. Alessandro  

posted @ lunedì 25 febbraio 2008 02:53 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# LINQ ]

LINQ-To-Xml: un esempio di query expression

Dopo aver visto un piccolo esempio di come Visual Basic 2008 offra il supporto integrato a XML, grazie a LINQ, in questo precedente post, riprendiamo il breve frammento di codice e ci cimentiamo in una nuova avventura, ovvero l'accesso a quel piccolo blocco di dati rappresentato sotto forma di XML per formulare una query e selezionare solo alcuni elementi di interesse. Consideriamo il seguente elemento XML che, come detto la scorsa volta, rappresenta alcuni articoli scritti da me per VB T&T:         Dim articoli = <Articoli>                            <Articolo titolo="La mia prima applicazione per dispositivi mobili"/>                           ...

posted @ lunedì 25 febbraio 2008 02:53 | Feedback (0) | Filed Under [ .NET Framework Visual Basic LINQ ]

101 Visual Basic LINQ Samples

A questo indirizzo della libreria MSDN potete trovare un nutrito archivio di esempi di codice per utilizzare LINQ in Visual Basic 2008. Si va da LINQ To Xml a LINQ To SQL, con molti esempi di query. Sono contento perchè Microsoft ha messo sullo stesso piano Visual Basic e C# nel dedicare risorse a questa eccezionale tecnologia che è LINQ. Bene, godiamoci gli esempi e mettiamoci a studiare! :-) Alessandro

posted @ lunedì 25 febbraio 2008 02:52 | Feedback (3) | Filed Under [ Visual Basic LINQ ]

Tutorial video su LINQ dedicati a Visual Basic 2008

Segnalo la disponibilità di due tutorial video, della serie "How do I?", predisposti da Microsoft e dedicati a sviluppatori Visual Basic che vogliono iniziare ad avventurarsi con LINQ: How do I get started with LINQ to XML How do I get started with LINQ to SQL Si tratta di video riguardanti due importanti caratteristiche di LINQ (LINQ-To-Xml e LINQ-To-SQL). Potete trovare la serie completa dei tutorial video su Visual Basic 2008 facendo clic qui. Alessandro

posted @ lunedì 25 febbraio 2008 02:52 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

LINQ: Esempio di query con Visual Basic 2008

In questo post vediamo come eseguire una query su una collection di oggetti, utilizzando LINQ e Visual Basic 2008. Per realizzare l'esempio proposto è sufficiente creare una nuova Console Application. In primo luogo scriviamo una classe chiamata Impiegato, che espone due proprietà, ossia il nome e il ruolo di un ipotetico impiegato: Class Impiegato       Private name As String     Private role As String       Property Nome() As String         Get             Return name         End Get         Set(ByVal value As String)             name = value         End Set     End Property       Property Ruolo() As String         Get             Return role         End Get         Set(ByVal value As String)            ...

posted @ lunedì 25 febbraio 2008 02:52 | Feedback (1) | Filed Under [ Visual Basic LINQ ]

Powered by:
Powered By Subtext Powered By ASP.NET