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

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

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 database Northwind;

2.    Creo una nuova applicazione Web in Visual Basic 2008;

3.    Aggiungo al progetto un nuovo Dataset vuoto che chiamo NorthwindDataSet;

4.    Sul Dataset trascino la tabella Customers dal database;

 

Fatte queste operazioni preliminari, passiamo a fare delle aggiunte alla pagina Default.aspx. In primo luogo, aggiungiamo le seguenti direttive Import al codice di markup:

 

<%@ Import Namespace="System.Linq" %>

<%@ Import Namespace="System.Data" %>

 

Quindi, dalla toolbox, trasciniamo una GridView sulla superficie del designer. Il data-binding lo facciamo poi da codice, quindi al momento lasciamo invariate le proprietà del controllo. Poi passiamo al codice managed; in primo luogo, otteniamo l’istanza del Dataset a livello di classe:

 

Private NorthwindDataSet As New NorthwindDataSet

 

In secondo luogo, stabiliamo di voler interrogare la tabella Customer e di estrapolare il nome dell’azienda e l’ID del cliente, dopo aver ordinato gli elementi della sequenza in base al nome dell’azienda. Incapsuliamo la nostra query LINQ in un metodo che restituisce IEnumerable, un tipo di dato che la GridView può accettare come sorgente dati:

 

    Protected Function Interroga() As IEnumerable

 

        Dim query = From customer In NorthwindDataSet.Customers _

                  Order By customer.CompanyName _

                  Select Azienda = customer.CompanyName, IDCliente = _

                         customer.CustomerID

 

        Return query

 

    End Function

 

Nel gestore dell’evento Load della pagina andiamo a istanziare e popolare gli adattatori, per poi eseguire il data-binding sulla GridView:

 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

 

        Dim CustomersTableAdapter As New _

            NorthwindDataSetTableAdapters.CustomersTableAdapter

        Dim TableAdapterManager As New _

            NorthwindDataSetTableAdapters.TableAdapterManager

 

        TableAdapterManager.CustomersTableAdapter = CustomersTableAdapter

        CustomersTableAdapter.Fill(NorthwindDataSet.Customers)

 

        GridView1.DataSource = Interroga()

        GridView1.DataBind()

    End Sub

 

Se avviate l’applicazione, la griglia mostrerà l’elenco di tutte le aziende clienti e il relativo numero identificativo.

 

Tengo a precisare che si tratta di un esempio molto semplice, valido per capire i primi passi verso LINQ-to-Dataset in questo genere di applicazioni. Nel libro (uscita presunta a settembre 2008), troverete esempi molto più dettagliati e completi. Se avete suggerimenti per migliorare quanto esposto, siete i benvenuti! :-)

 

Il codice sorgente è scaricabile da qui:

 

 

Alessandro

Print | posted on venerdì 30 maggio 2008 16:51 | Filed Under [ Visual Basic LINQ ]

Powered by:
Powered By Subtext Powered By ASP.NET