Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1906, 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

Disabilita cookie ShinyStat

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

aprile 2008 Blog Posts

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 ]

Tra i top answerers del forum MSDN "Visual Basic IDE"

Oggi mi sono ritrovato al terzo posto nei top answerers del forum MSDN dedicato all'IDE di Visual Basic, a questo indirizzo. Beh, non è cosa di tutti i giorni... e vabbè, magari non vi interessa ma.. volevo rendervi partecipi! Soprattutto per sottolineare l'importanza di questi forum, dove bazzica gente molto preparata e gente di Microsoft. Alessandro

posted @ martedì 29 aprile 2008 00:06 | Feedback (0) | Filed Under [ Visual Basic ]

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 ]

Application.StartupPath in .NET Compact Framework

.NET Compact Framework non supporta la proprietà Application.StartupPath per conoscere la directory ove risiede l'applicazione. Nè è possibile ricorrere all'oggetto AppDomain come avevamo visto in WPF. Come si fa allora, se stiamo sviluppando per dispositivi mobili? Si ricorre alla Reflection: Imports System.Reflection Imports System.IO … Dim startupPath As String startupPath = Assembly.GetExecutingAssembly().GetName().CodeBase startupPath = Path.GetDirectoryName(startupPath) Il campo startupPath conterrà, quindi, la directory ove risiede l'eseguibile. Alessandro

posted @ sabato 26 aprile 2008 13:28 | Feedback (4) | Filed Under [ .NET Framework Visual Basic ]

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 ]

Microsoft Software Licensing and Protection Services

Microsoft ha da poco avviato un nuovo servizio, dedicato alla scelta del licensing per il software e a tutto un insieme di servizi per la protezione del software stesso, in ottica anti pirateria, secondo una logica di assistenza fin dalle prime fasi dello sviluppo. Non è gratuito, ma sicuramente può essere molto utile soprattutto laddove ci si rende conto che le tecniche anti reverse-engineering "classiche" non sono sufficienti, soprattutto in ambito .NET. Il portale si chiama Microsoft Software Licensing and Protection Services e potete raggiungerlo facendo clic qui. Alessandro

posted @ mercoledì 23 aprile 2008 22:25 | Feedback (4) | Filed Under [ .NET Framework Visual Basic C# Setup & Deployment Help Authoring Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility ]

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 ]

Krypton Toolkit per Windows Forms, versione 2.8

Segnalo la disponibilità della nuova release dell'ormai nota suite di controlli free per applicazioni .NET basate su Windows Forms, chiamata Krypton Toolkit. Giunta alla versione 2.8, la suite può essere scaricata dal sito della ComponentFactory. In questo blog potete trovare anche alcuni esempi d'uso, legati a una precedente versione. Alessandro

posted @ martedì 22 aprile 2008 17:33 | Feedback (2) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions Visual Studio 2008 ]

Installare SQL Server 2005 Management Studio Express su Windows Vista

Non è detto che succeda, ma può capitare che, tentando di installare SQL Server 2005 Management Studio Express su Windows Vista, possa verificarsi un errore contraddistinto dal codice 29506. Seguendo alcune indicazioni su un forum MSDN, ho risolto facendo in questo modo: ho avviato il prompt dei comandi come amministratore; ho avviato l'installazione dal prompt dei comandi, dopo aver copiato l'installer su un hard disk esterno (quindi non dal disco su cui risiede il sistema); funziona :-) Per avviare l'installazione dalla riga di comando si utilizza MsiExec.exe (il gestore di Windows Installer) seguito dall'opzione /i. Spero vi sia utile! Alessandro

posted @ lunedì 21 aprile 2008 23:07 | Feedback (20) | Filed Under [ Visual Studio 2008 Windows 7 ]

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 ]

Screencast su Visual Basic 2008: ora disponibili on-line e off-line

Segnalo che i miei screen-cast su Visual Basic 2008 sono ora visualizzabili on-line, oltre che scaricabili. Grazie al servizio SoapBox di Microsoft Windows Live, infatti, è possibile caricare video su una sorta di hard disk virtuale ed incorporare il codice html che li richiama all'interno di una pagina Web come quella di un blog. In questo modo potrete visualizzare i video on-line per poi eventualmente decidere di scaricarli. Al momento sono disponibili tutti quelli realizzati su LINQ, nei prossimi giorni terminerò il tutto (è stata una faticaccia :o) ). Potete visualizzare l'elenco a questo consueto indirizzo oppure accedere alla cartella pubblica degli screencast...

posted @ domenica 20 aprile 2008 23:55 | Feedback (5) | Filed Under [ .NET Framework Visual Basic 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 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 ]

Hotfix per Visual Studio nella MSDN Code Gallery

Sono tante, ma riguardano sia Visual Studio 2005 che 2008. Si tratta di HotFix rilasciate da Microsoft a correzione di alcuni problemini riscontrati nelle due versioni dell'ambiente di sviluppo e sono state riepilogate nella Code Gallery di MSDN. Per avere l'elenco completo ho utilizzato, per la ricerca, l'apposito tag che vi rimanda a questo elenco. Quindi, se avete riscontrato problemi con l'IDE, date un'occhiata alla Gallery. Si tratta di correzioni descritte anche in articoli della Knowledge Base, ma trovo molto comodo l'averli a disposizione in questo modo. Alessandro

posted @ giovedì 17 aprile 2008 20:38 | Feedback (3) | Filed Under [ Visual Studio 2008 ]

Una panoramica di Microsoft Visual Studio 2008: White Paper

Spesso nei forum MSDN mi capita di leggere messaggi di persone che cercano di capire la vera utilità di passare da Visual Studio 2005 a Visual Studio 2008. Al di là delle specifiche novità sintattiche dei linguaggi, Microsoft ha prodotto questo whitepaper su Visual Studio 2008 che sintetizza le principali novità dell'ambiente di lavoro. E' breve ma incisivo :-) Si trova a questo indirizzo. Alessandro

posted @ giovedì 17 aprile 2008 19:18 | Feedback (3) | Filed Under [ Visual Studio 2008 ]

Windows Vista Service Pack 1

E' di ieri la notizia del rilascio, finalmente, del tanto atteso Service Pack 1 per Windows Vista, che si propone di risolvere alcuni bug e migliorare le performance di sistema. Vi lascio il link alla pagina del Blog di MSDN Italia in cui viene dato l'annuncio, poichè lì troverete una serie di ulteriori link che vi aiuteranno nella scelta del download più adatto al vostro sistema: http://blogs.msdn.com/italy/archive/2008/04/15/windows-vista-sp1-in-italiano-disponibile-in-download.aspx Alessandro

posted @ mercoledì 16 aprile 2008 18:15 | Feedback (1) | Filed Under [ Windows 7 ]

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 ]

Gli Hands-on lab del Launch 2008 disponibili per il download

Segnalo che a quest'indirizzo è possibile scaricare gli Hands-on lab riguardanti tutti gli argomenti trattati all'evento Heroes Happen Here, l'evento di lancio di Visual Studio 2008, SQL Server 2008 e Windows Server 2008. Lo zip per Visual Studio 2008 contiene un bel malloppo di documenti PDF ricchi di esempi di codice e ben suddivisi per categorie. Un must-have, sicuramente. Ricordo invece che a questo indirizzo del blog di Pietro Brambati vengono forniti i link alle risorse presentate al Launch italiano. Alessandro

posted @ domenica 13 aprile 2008 19:44 | Feedback (1) | Filed Under [ Visual Studio 2008 ]

Workflow Foundation: persistenza con SQL Server Compact Edition

Segnalo questo interessante articolo che mostra esempi di codice in Visual Basic e Visual C# per sfruttare i database di SQL Server Compact Edition nell'ambito dei servizi di persistenza dei flussi di lavoro, in Windows Workflow Foundation. Un'ottima lettura, nel caso vogliate usare questi database al posto dei classici di SQL Server. Alessandro

posted @ sabato 12 aprile 2008 02:38 | Feedback (1) | Filed Under [ Windows Workflow Foundation ]

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 ]

Di Microsoft.VisualStudio.Zip.dll e dintorni

Molto tempo fa, in questo post, parlammo di un assembly chiamato Microsoft.VisualStudio.Zip.dll che espone classi per la creazione di archivi zip con una semplicità disarmante. Non era chiaro, però, se l'assembly fosse ridistribuibile o se fosse quantomeno possibile referenziarlo purchè Visual Studio fosse già presente sulla macchina target. Avevo completamente dimenticato di aver postato un quesito sul forum di MSDN dedicato all'Extensibility di Visual Studio per avere riposte certe in merito. Quindi, ve lo segnalo: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1775246&SiteID=1 Leggetelo, se vi interessa l'argomento. La cosa certa è che l'assembly non è ridistribuibile (ma questo era abbastanza ovvio). Pare (ma sottolineo il "pare") che l'assembly possa...

posted @ giovedì 10 aprile 2008 21:45 | Feedback (1) | Filed Under [ Visual Studio Extensibility ]

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 ]

Visual Studio Extensibility: VSCT PowerToy

Segnalo questo progetto disponibile nella Code Gallery di MSDN, chiamato VSCT PowerToy e dedicato a coloro che sviluppano per l'IDE di Visual Studio 2008. Questo tool consente, infatti, di esaminare i comandi, le chiavi di registro e varie risorse associate a un determinato VSPackage o all'intero ambiente di Visual Studio. Se sviluppate componenti aggiuntivi per Visual Studio 2008, si tratta di un tool da non perdere. E lo trovate qui. Alessandro

posted @ giovedì 10 aprile 2008 00:10 | Feedback (2) | Filed Under [ Visual Studio Extensibility ]

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 ]

Un altro editor di code snippet per Visual Studio

Segnalo la disponibilità di un ulteriore editor di Code Snippet riutilizzabili in Visual Studio 2005/2008, chiamato SnippDogg. Si tratta di un progetto open source disponibile nella Code Gallery di MSDN, al seguente indirizzo. L'interfaccia mi sembra ben fatta, anche se devo dire che mi trovo meglio col Visual Basic 2008 Code Snippet Editor realizzato per Microsoft (e, ovviamente, col mio add-in per Visual Studio 2008 :-)). Ad ogni buon conto è un tool da tenere a mente. Alessandro

posted @ lunedì 7 aprile 2008 22:48 | Feedback (1) | Filed Under [ Visual Basic C# Visual Studio Express Editions Visual Studio 2008 ]

Stampare in PDF con Visual Basic 2008

Segnalo questo interessante progetto open-source su CodePlex, che propone un assembly per la stampa di vari oggetti in formato PDF. Una volta tanto troviamo sia il codice sorgente che qualche code snippet tutto in Visual Basic 2008. Il progetto si chiama Print2Pdf ed è disponibile a questo indirizzo. L'utilizzo sembra davvero molto semplice (dietro le scene va a richiamare le classi per la stampa di .NET Framework, riprese per lo scopo). Alessandro

posted @ lunedì 7 aprile 2008 18:13 | Feedback (5) | Filed Under [ Visual Basic ]

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 ]

WPF: Animazioni in maniera programmatica

Era da un po' di tempo che non parlavamo di Windows Presentation Foundation :-) Sebbene abbiamo parlato diverse volte di animazioni, in questo post vediamo come animare un oggetto a livello di codice Visual Basic. Utilizzeremo un oggetto di tipo AnimationClock, appartenente al namespace System.Windows.Media.Animation. Lo scopo della dimostrazione è quello di animare la proprietà relativa alla larghezza di un rettangolo in modo che questa aumenti nell'ambito dell'animazione stessa, per poi tornare indietro alle dimensioni originali. Poichè è possibile controllare la riproduzione dell'animazione, oltre a disegnare il rettangolo poniamo nell'interfaccia anche tre pulsanti: uno per l'avvio, uno per la pausa e...

posted @ lunedì 7 aprile 2008 00:25 | Feedback (2) | Filed Under [ Visual Basic Windows Presentation Foundation ]

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 ]

DotNet Zip: una libreria open-source per gestire archivi zip da codice gestito

Segnalo questo grandioso progetto su CodePlex, denominato DotNet Zip. Si tratta di una libreria interamente managed che permette di creare e leggere archivi compressi secondo il diffusissimo formato Zip con grandi risultati in termini di compatibilità. Tra l'altro si legge che, dietro le scene, tale libreria utilizza l'oggetto DeflateStream del namespace System.IO.Compression con l'aggiunta di un header specifico per i file .zip. Guardate questo piccolo snippet che vi mostra quanto sia semplice creare un archivio con questa libreria:         'Presuppone una direttiva Imports Ionic.Utils.Zip           'Istanzia un nuovo ZipFile che rappresenta un file Zip         Dim archive As...

posted @ sabato 5 aprile 2008 11:42 | Feedback (14) | Filed Under [ .NET Framework Visual Basic C# ]

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 ]

Powered by:
Powered By Subtext Powered By ASP.NET