Utilizzo di LINQ in Visual Basic Express
Aggiornamento: novembre 2007
Le applicazioni spesso utilizzano dati in database SQL o documenti XML. Gli sviluppatori di solito devono apprendere un secondo linguaggio di programmazione, ad esempio SQL o Xquery, per gestire questi dati. LINQ (Language-Integrated Query) offre la funzionalità di query nel linguaggio Visual Basic stesso in modo che non sia necessario imparare un linguaggio di query completamente diverso. Anziché imparare un linguaggio di query separato, ora è possibile utilizzare le conoscenze di Visual Basic, oltre ad alcune parole chiave e concetti aggiuntivi, per eseguire una query su database SQL, dataset ADO.NET, documenti XML e qualsiasi classe di insiemi .NET Framework che implementi l'interfaccia IEnumerable.
Vantaggi dell'utilizzo di LINQ
Sintassi comune per la scrittura di query
Controllo degli errori di sintassi in fase di compilazione e indipendenza dai tipi
Supporto del debugger migliorato
Supporto IntelliSense
Possibilità di utilizzare direttamente gli elementi XML anziché creare un documento XML contenitore, come richiesto con W3C DOM (Document Object Model).
Modifica dei documenti XML in memoria potente e ancora più semplice da utilizzare rispetto a XPath o XQuery.
Potenti funzionalità di filtro, ordinamento e raggruppamento
Modello coerente per l'utilizzo dei dati con tutti i diversi tipi di origini e formati dati
Scrittura di query LINQ
La struttura di base di una query di LINQ è identica se si utilizzano dataset ADO.NET, database SQL, insiemi .NET Framework o documenti XML. Un'espressione di query inizia con la clausola From, seguita da clausole di query quali Where e Select. L'espressione completa viene archiviata in una variabile di query che può essere eseguita o modificata un numero illimitato di volte. La sintassi dell'espressione di query è analoga alla sintassi di SQL. Ad esempio, è possibile scrivere una query LINQ che restituisca tutti gli studenti presenti in un database che hanno scienze come materia di specializzazione, utilizzando la sintassi seguente:
Dim StudentQuery = From student in studentApp.students
Where student.Major = "Science" _
Select student
Per ulteriori informazioni, vedere Query (Visual Basic) e Scrittura della prima query LINQ (Visual Basic).
Una query LINQ comprende tre tappe di base. Ottenere l'origine dati, definire l'espressione di query e quindi eseguire la query. Per ulteriori informazioni, vedere la classe Scrittura della prima query LINQ (Visual Basic).
LINQ to Objects
Il termine LINQ to Objects si riferisce all'utilizzo di LINQ per eseguire una query su strutture dei dati in memoria che supportano IEnumerable. Per ulteriori informazioni, vedere LINQ to Objects.
LINQ to SQL
Utilizzare LINQ to SQL per accedere ai database SQL Server e SQL Server Express tramite un livello dell'oggetto fortemente tipizzato creato utilizzando O/R Designer.
È possibile utilizzare Progettazione relazionale oggetti per eseguire il mapping delle classi LINQ to SQL alle tabelle di un database e scrivere query LINQ per associare dati ai controlli dell'applicazione. Ad esempio, la seguente query LINQ associa i risultati di una query LINQ (tutti i clienti degli Stati Uniti) a un'origine di associazione di un controllo DataGridView.
Dim CustomersQuery = From customers in NorthwindSampleDataContext1.Customers _
Where customers.Country = "US" _
Select customers
CustomerBindingSource.DataSource = CustomersQuery
Per ulteriori informazioni, vedere LINQ to SQL, Cenni preliminari su Progettazione relazionale oggetti, Creazione di classi LINQ to SQL utilizzando O/R Designer e Utilizzo di LINQ per associare dati a controlli.
Nota: |
---|
O/R Designer non supporta attualmente i database di SQL Server Compact 3.5. Per informazioni su come ottenere SQL Server Express Edition, vedere la sezione relativa a come ottenere SQL Server Express Edition in Procedura: installare database di esempio. |
Da LINQ a DataSet
Il DataSet viene utilizzato per associare i dati ai controlli di un'applicazione. Invece di connettersi direttamente a un database, è possibile utilizzare un DataSet per creare una cache non in linea di dati che possono includere sottoinsiemi di diverse origini dati, da utilizzare con un'applicazione. Quando l'applicazione viene portata in linea, è possibile aggiornare il database con le modifiche apportate al DataSet.
LINQ to Dataset rende l'esecuzione di una query sui dati memorizzati nella cache più veloce e semplice rispetto ai metodi di filtro e ordinamento disponibili in un DataSet. Per ulteriori informazioni, vedere LINQ to DataSet.
LINQ to XML
LINQ to XML consente di creare e modificare facilmente i documenti XML utilizzando le espressioni di query LINQ invece di dover imparare i linguaggi XPath o XQuery. LINQ to XML è una nuova API per XML in memoria che utilizza costrutti di programmazione moderni anziché il modello DOM (Document Object Model ) W3C. Per ulteriori informazioni, vedere Cenni preliminari su LINQ to XML in Visual Basic, Inclusione dell'XML direttamente nel codice: utilizzo dei valori letterali XML e Assi integrati nel linguaggio in Visual Basic (LINQ to XML).
Vedere anche
Concetti
Guida introduttiva (LINQ to SQL)
Altre risorse
Introduzione a LINQ in Visual Basic