Introduzione a LINQ

di: Giuseppe Marchi     20 Febbraio 2008

LINQ è l'acronimo di Language INtegrated Query, ed è una delle novità del .NET Framework 3.5. Rappresenta il primo framework Microsoft per l'accesso ai dati, indipendente dall'architettura e dalle strutture cui si tenta di accedere e totalmente integrato all'interno dei linguaggi .NET di alto livello.

Con LINQ possiamo eseguire query e manipolare dati sfruttando un modello indipendente dalle varie tipologie di fonti; possiamo 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; il tutto utilizzando un unico modello di programmazione che riunisce molteplici tecniche differenti di accesso ai dati.

Per il corretto funzionamento di questo nuovo linguaggio, sono state aggiunte nuove funzionalità ai linguaggi del .NET Framework 3.5, in grado di supportare l'esecuzione delle query.

Sia per C# che per VB.NET abbiamo a disposizione nuove keyword, il meccanismo delle variabili locali implicite e dei tipi anonimi, gli inizializzatori di oggetti e collezioni, gli extension methods e le lambda expression. Abbiamo già esaminato queste novità in questo articolo.

LINQ porta con sé una serie di nuovi tool e funzionalità per migliorare la produttività. Il framework a supporto dell'accesso ai dati permette il mapping degli oggetti di SQL Server (Tabelle, viste, stored, etc.) su classi .NET (un vero e proprio ORM) ed è stata creata una sintassi particolare per accedere tramite LINQ a informazioni in formato XML e a strutture come DataSet e DataTable.

Le funzionalità appena descritte sono state fatte confluire in queste quattro implementazioni di LINQ:

  • 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

L'insieme di queste implementazioni fornisce un potente strumento per la gestione dei dati in memoria, derivati da varie fonti diverse fra loro.

Sono ancora in fase di sviluppo (Beta 3) LINQ to Entities e Entity Framework, grazie ai quali si ottiene un mapping più potente e funzionale e la gestione di numerosi DBMS. Avremo sicuramente modo di parlare in dettaglio anche di questa novità.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

20 Febbraio 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto