Alessandro Del Sole's Blog

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

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

maggio 2008 Blog Posts

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 ]

Nuova versione di Krypton Toolkit per .NET

Segnalo che la ComponentFactory ha rilasciato la versione 2.8.5 di Krypton Toolkit, la ormai nota suite di controlli gratuiti per applicazioni Windows Forms. Tra le novità, oltre ad alcuni bug fix, si rilevano nuove palette per i controlli. Tutte le informazioni sono disponibili sul sito della ComponentFactory, dal quale potrete scaricare gratuitamente (previa registrazione) l'installer dei controlli. Alessandro

posted @ giovedì 29 maggio 2008 08:33 | Feedback (0) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions Visual Studio 2008 ]

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 ]

.NET e Text-to-Speech: precisazione sulla classe SpeechSynthesizer

Diverse volte abbiamo affrontato l'argomento del Text-to-Speech in .NET 3.0, sia in questo blog sia, in particolare, nel mio libro su .NET Framework 3.x. Nell'illustrare gli esempi di codice, abbiamo sempre detto che per la proprietà Rate della classe SpeechSynthesizer, che imposta la velocità di riproduzione audio, i valori minimo e massimo sono rispettivamente -5 e 7. Questo, tra l'altro, viene asserito anche nel blog di Windows Presentation Foundation SDK (quindi "LA" voce autorevole in tal senso). Devo correggere quanto detto finora, poichè sono venuto a conoscenza del fatto che ci sono delle API, effettivamente non documentate da Microsoft, (quindi sono giustificato! :-))...

posted @ venerdì 23 maggio 2008 21:59 | Feedback (1) | Filed Under [ .NET Framework Windows Presentation Foundation ]

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 ]

Novità dal Visual Basic Developer Center

Il Visual Basic Developer Center di MSDN propone una nuova iniziativa: una serie di piani di studi e di risorse per imparare Visual Basic 2008, a seconda delle varie aree tematiche di .NET Framework 3.5. La nuova pagina, denominata "Learn Visual Basic", è ricca di link a risorse suddivise per tipologia, come articoli, webcast, video "How do I" ed elenchi di libri. Da questa pagina si può accedere alle risorse di qualunque area di sviluppo .NET (WPF, WCF, Mobile, LINQ, VSTO solo per citarne alcuni). Dategli un'occhiata, è una gran cosa! Trovate la pagina Learn a questo indirizzo. Alessandro

posted @ martedì 13 maggio 2008 00:44 | Feedback (2) | Filed Under [ Visual Basic ]

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 ]

Percorso formativo per ASP.NET 3.5 da MSDN Italia

MSDN Italia ha realizzato un percorso formativo inerente lo sviluppo basato su ASP.NET 3.5. Il percorso formativo è costituito da webcast e codice sorgente, disponibile sia per Visual Basic che per Visual C#. Gli argomenti trattati vanno da quelli più introduttivi a discorsi sull'interfaccia utente e sul data-binding. A questo indirizzo potete trovare tutto il materiale inerente il percorso formativo e godervelo, perchè è veramente ben fatto. Alessandro

posted @ mercoledì 7 maggio 2008 22:34 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Visual Studio 2008 ]

Rilasciata la suite Microsoft Expression 2

E' stata annunciata la disponibilità della RTM (Release To Manufacturing) della versione 2 della suite Microsoft Expression, un insieme di strumenti dedicati ai designer per lo sviluppo di interfacce ed esperienze utente avanzate, con particolare riguardo a Windows Presentation Foundation e Silverlight. La suite comprende le seguenti applicazioni (tutte incluse nella più completa Microsoft Expression Studio): Microsoft Expression Blend 2 Microsoft Expression Design 2 Microsoft Expression Web 2 Microsoft Expression Media 2 Microsoft Expression Encoder 2 A questo indirizzo potete trovare tutte le informazioni di dettaglio e reperire una edizione Trial. Vi consiglio di provarle, sono applicazioni fantastiche. Alessandro

posted @ mercoledì 7 maggio 2008 22:31 | Feedback (1) | Filed Under [ Windows Presentation Foundation ]

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 ]

Miglioramenti al designer WPF nel Service Pack 1 di VS 2008

A questo indirizzo della Knowledge Base di Microsoft è disponibile un elenco dei miglioramenti che verranno apportati al designer di Windows Presentation Foundation in Visual Studio 2008 non appena verrà rilasciato il Service Pack 1 per l'ambiente di sviluppo. Tra le varie feature, si rileva un ampliamento della finestra delle proprietà, un miglior supporto al drag and drop dei controlli e un miglioramento al controllo Expander. I dettagli sono nella pagina segnalata. Alessandro

posted @ martedì 6 maggio 2008 07:52 | Feedback (2) | Filed Under [ Windows Presentation Foundation ]

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 ]

Registrare screencast con Microsoft Community Clips

Dal blog di Alessandro Teglia vengo a conoscenza di un utilissimo tool chiamato Microsoft Community Clips, che permette di registrare screencast e tutorial video (tipo i miei in ambito VB T&T, per intenderci) sia a livello di applicazioni/finestre, sia a livello di presentazioni PowerPoint. Io ho provato a dargli un'occhiata, è ancora in una fase pre-release ma attualmente non offre la stessa qualità di CamTasia. Se però si considera che è gratuito, che i risultati sono comunque senz'altro apprezzabili, che salva i video direttamente in formato .Wmv e che è anche piuttosto veloce... credo ne valga la pena dargli un'occhiata,...

posted @ sabato 3 maggio 2008 15:02 | Feedback (1) | Filed Under [ Varie ]

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 ]

Powered by:
Powered By Subtext Powered By ASP.NET