English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
LINQ (Language Integrated Query) è una sintassi di query unificata in C# e VB.NET, utilizzata per recuperare dati da diverse sorgenti e formati. È integrato in C# o VB, eliminando l'incongruenza tra il linguaggio di programmazione e il database, e fornendo un'interfaccia di query unica per diversi tipi di fonti di dati.
Ad esempio, SQL è un linguaggio di query strutturato utilizzato per salvare e recuperare dati da database. Allo stesso modo, LINQ è una sintassi di query strutturata integrata in C# e VB.NET, utilizzata per recuperare dati da diverse fonti di dati (ad esempio, collection, ADO.Net DataSet, XML Docs, servizi web e MS SQL Server e altri database).
La query LINQ restituisce i risultati come oggetti. Questo vi permette di utilizzare metodi orientati agli oggetti sul set dei risultati, senza preoccuparvi di convertire i risultati di diversi formati in oggetti.
Nell'esempio seguente viene dimostrata una query LINQ semplice che ottiene tutte le stringhe dall'array che contengono "a".
// Sorgente dati string[] names = {"Bill", "Steve", "James", "Mohan"}; // Query LINQ var myLinqQuery = from name in names where name.Contains('a') select name; // Esecuzione query foreach(var name in myLinqQuery) Console.Write(name + " ");
Nell'esempio sopra, l'array di stringhe denominato name è una sorgente di dati. Di seguito è riportata la query LINQ assegnata alla variabile myLinqQuery.
from name in names where name.Contains('a') select name;
La query sopra utilizza la sintassi di query LINQ. Troverete ulteriori informazioni nel capitolo sulla sintassi di query.
Prima di eseguire una query LINQ, non otterrete i suoi risultati. Le query LINQ possono essere eseguite in vari modi, qui utilizziamo un ciclo foreach per eseguire la query memorizzata in myLinqQuery. Il ciclo foreach esegue la query sul sorgente dei dati e ottiene i risultati, quindi itera sul set dei risultati.
Quindi, ogni query LINQ deve interrogare un qualche tipo di sorgente di dati, sia essa un array, una collezione, XML o un altro database. Dopo aver scritto una query LINQ, è necessario eseguirla per ottenere i risultati.
Scopri nel prossimo capitolo perché utilizzare LINQ.