Mr. Webmaster Menu
  • Home
  • Cerca
  • Didattica
    • A
    • Android
    • Apache
    • Apple
    • ASP
    • ASP.Net
    • C
    • Cloud
    • CMS
    • CSS
    • D
    • Database
    • E
    • Editor
    • G
    • Grafica
    • H
    • Hosting
    • HTML
    • J
    • Java
    • Javascript
    • jQuery
    • L
    • Leggi e Fisco
    • Linux
    • M
    • Mobile
    • MySQL
    • N
    • NET Framework
    • P
    • Photoshop
    • PHP
    • Primi Passi
    • Programmazione
    • R
    • Reti
    • Ruby
    • S
    • Sicurezza
    • Social Media
    • SQL
    • W
    • Web Design
    • Web Marketing
    • Web Server
    • Windows
    • WordPress
    • X
    • XML
    • Di tendenza
    • Android Studio
    • Bootstrap
    • Cookie Law
    • Hosting Wordpress
    • Node.js
    • Registrazione Domini
  • Download
    • Software
    • Script
    • Plugin CMS
    • Flash Movies
    • Sound Loops
    • Templates
    • Web Grafica
    • Font Gratis
  • Risorse
    • SEO Tools
    • WebApps
  • News
  • Blog
  • Forum
  • Network
    • Toolset.it
    • SiteMarket.it
    • Codalo.it
  • Corsi on-line
Mr. Webmaster → ASP.Net → Guide → Guida ASP.Net con Visual Studio → Interrogare i dati con LINQ

Interrogare i dati con LINQ

  • CommentaScrivi un commento
  • ForumDiscuti sul forum
  • PrecedenteControlli per la gestione dei dati
  • SuccessivoGestire il Session State
  • Pubblicato il
  • 30/03/2011
  • Autore
  • Vincenzo Gaglio

Con le ultime versioni del .NET Framework è stata introdotta una nuova tecnologia a livello di interazione con i databse denominata LINQ (Language Integrated Query). Si tratta di un insieme di estensioni del .NET Framework per effettuare rapide interrogazioni sui dati. LINQ estende la sintassi di C# e Visual Basic ma non rimpiazza le altre tecnologie per l’accesso ai dati, rappresentando un’utile alternativa alle stesse.

Questa tecnologia è denominata ‘linguaggio integrato’ perchè offre la possibilità di costruire le query desiderate integrandole nella sintassi di linguaggi di programmazione ben definiti come C# e Visual Basic.

Per comprenderne le potenzialità procediamo con un esempio. Aggiungiamo un nuovo web form ad un nostro progetto e inseriamo un controllo GridView all’interno dello stesso per la visualizzazione dei dati derivanti dalla query LINQ che eseguiremo prossimamente. In quest’esempio utilizzeremo come origine dati la classe Auto che abbiamo visto qualche lezione fa (aggiungendo un altro modello della casa Ford, la Focus).

Nell’evento Load del form inseriamo il seguente codice

if (!this.IsPostBack)
{
  List<Auto> autoList = Auto.CreaListaAuto();
  GridView1.DataSource = from auto in autoList
  where
  auto.Marca.Contains("Ford") == true
  orderby auto.Marca.Length
  select auto.Modello.ToUpper();
  GridView1.DataBind();
}

Con questa sintassi stiamo chiedendo di riportare in griglia solo i modelli di auto di marca Ford e infatti eseguendo l’applicazione il risultato visualizzato sarà il seguente

Se modifichiamo il codice per visualizzare anche la marca dobbiamo scrivere

protected void Page_Load(object sender, EventArgs e)
{
  if (!this.IsPostBack)
  {
    List<Auto> autoList = Auto.CreaListaAuto();
    GridView1.DataSource = from auto in autoList
    where
    auto.Marca.Contains("Ford") == true
    orderby auto.Modello.Length
    select auto;
    GridView1.DataBind();
  }
}
e il risultato sarà il seguente

Tirando le somme il formato di una istruzione LINQ è il seguente

from <variabile in una collezione> in <collezione> 
where <criteri di selezione> 
orderby <criteri di ordinamento>
select <proprietà degli elementi selezionati>

Continua dopo la pubblicità...

La cosa più interessante è che con LINQ possiamo eseguire query (ma anche modificare i dati) sfruttando un modello indipendente dalle varie tipologie di fonti. E’ possibile infatti accedere a database, file di testo, file XML, array, file Excel, file di configurazione, informazioni su assembly, chiavi di registro e qualsiasi altro oggetto riconducibile ad una collezione di oggetti enumerabile.

Esistono diverse varianti di questa tecnologia, tra cui:

  • LINQ to Objects - Permette di eseguire delle query su collezioni di oggetti in memoria
  • LINQ to XML - Permette di eseguire delle operazioni su informazioni in formato XML
  • LINQ to DataSet - Permette di eseguire delle query su DataSet tipizzati
  • LINQ to SQL - Permette di rappresentare un grafo di oggetti in memoria che rappresentano gli oggetti presenti in un database SQL Server, su cui poi eseguire delle query

In particolare la tecnologia più utilizzata è LINQ to SQL per approfondire la quale vi rimando ad un articolo scritto da me qualche tempo fa che potete trovare a questa pagina.

Sfoglia le lezioni della guida

←Controlli per la gestione dei dati
→Gestire il Session State

Commenti

I commenti sono sottoposti alle linee guida di moderazione e prima di essere visibili devono essere approvati da un moderatore.
  • Facebook
  • Twitter
  • Google+
  • YouTube
  • App Android
  • App iOS
  • Feed RSS
Frequenta i nostri corsi
  • Corso ASP.NETCorso ASP.NET
    Corso completo per la creazione di applicazioni Web. A partire da 49 €
  • Corso C#Corso C#
    Creare applicazioni in ambiente .NET con il linguaggio C sharp. A partire da 49 €
  • Corso MS SQL ServerCorso MS SQL Server
    Gestire database con Microsoft SQL Server. A partire da 49 €
Vedi anche...
  • Come effettuare l'encoding di una stringa HTML con ASP.Net?
  • Redirect 301 del dominio senza www verso il www
  • Inviare una mail con ASP.Net
  • Distribuzione di applicazioni ASP.NET
  • Utilizzo di AJAX
Altre Guide
  • Guida C#
  • Guida VB.Net
  • Guida base ad ASP.Net
Mr. Webmaster
  • RSS
  • Contattaci
  • Torna su
IKIweb
© 2003 - 2018 Mr. Webmaster
Mr. Webmaster ® è un marchio registrato.
E' vietata ogni forma di riproduzione.
IKIweb Internet Media S.r.l. - P.IVA 02848390122

Parliamo di noi: chi siamo / cronologia
Contatti: pubblicità / contattaci / segnala abusi
Note Legali: info legali / privacy / cookie
Altro: extra / sondaggi / sitemap