Introduzione a LINQ

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à.

Se vuoi aggiornamenti su Introduzione a LINQ inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Introduzione a LINQ

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy