Procedura: conteggio, somma, o media di dati utilizzando LINQ (Visual Basic)
Language-Integrated Query (LINQ) semplifica l'accesso a informazioni di database e l'esecuzione di query.
Nell'esempio seguente viene illustrato come creare una nuova applicazione che esegue query su un database SQL Server. Nell'esempio vengono eseguiti il conteggio, la somma e la media dei risultati utilizzando le clausole Aggregate e Group By Per ulteriori informazioni, vedere Clausola Aggregate (Visual Basic) e Clausola Group By (Visual Basic).
Negli esempi di questo argomento viene utilizzato il database di esempio Northwind. Se sul computer di sviluppo non è installato il database di esempio Northwind, è possibile scaricarlo da Area download Microsoft. Per istruzioni, vedere Download dei database di esempio.
Nota
Nomi o percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni vedere Personalizzazione delle impostazioni di sviluppo in Visual Studio.
Per creare una connessione al database
In Visual Studio, aprire Esplora server/Esplora database scegliendo Esplora server o Esplora database dal menu Visualizza.
Fare clic con il pulsante destro del mouse su Connessioni dati in Esplora server/Esplora database e quindi scegliere Aggiungi connessione.
Specificare una connessione valida al database di esempio Northwind.
Per aggiungere un progetto che contiene un file LINQ to SQL
Scegliere Nuovo dal menu File di Visual Studio, quindi Progetto. Selezionare Applicazione Windows Form di Visual Basic come tipo di progetto.
Scegliere Aggiungi nuovo elemento dal menu Progetto. Selezionare il modello dell'elemento Classi LINQ to SQL.
Denominare il file northwind.dbml. Scegliere Aggiungi. Viene aperto Progettazione relazionale oggetti per il file northwind.dbml.
Per aggiungere tabelle per eseguire una query a Progettazione relazionale oggetti
In Esplora server/Esplora database espandere la connessione al database Northwind. Espandere la cartella Tabelle.
Se Progettazione relazionale oggetti è stato chiuso , è possibile riaprirlo facendo doppio clic sul file northwind.dbml aggiunto in precedenza.
Fare clic sulla tabella Customers e, tenendo premuto il pulsante del mouse, trascinarla nel riquadro di sinistra del Designer. Fare clic sulla tabella Orders e, tenendo premuto il pulsante del mouse, trascinarla nel riquadro di sinistra del Designer.
La finestra di progettazione crea nuovi oggetti Customer e Order per il progetto. Si noti che la finestra di progettazione rileva automaticamente le relazioni tra le tabelle e crea le proprietà figlio per gli oggetti correlati. Ad esempio, IntelliSense mostrerà che l'oggetto Customer ha una proprietà Orders per tutti gli ordini riferiti a quel cliente.
Salvare le modifiche e chiudere le finestra di progettazione.
Salvare il progetto.
Per aggiungere il codice per eseguire query sul database e visualizzare i risultati:
Dalla Casella degli strumenti, trascinare un controllo DataGridView nel Windows Form predefinito per il progetto, Form1.
Fare doppio clic su Form1 per aggiungere il codice all'evento Load del form.
Quando si aggiungono tabelle a Progettazione relazionale oggetti, la finestra di progettazione aggiunge un oggetto DataContext al progetto. Questo oggetto contiene il codice necessario per accedere a quelle tabelle e per accedere a singoli oggetti e a raccolte per ogni tabella. L'oggetto DataContext per il progetto viene denominato in base al nome del file .dbml. Per questo progetto, l'oggetto DataContext viene denominato northwindDataContext.
È possibile creare un'istanza di DataContext nel codice ed eseguire una query nelle tabelle specificate da Progettazione relazionale oggetti.
Aggiungere il seguente codice all'evento Load per eseguire una query nelle tabelle esposte come proprietà dell'oggetto DataContext ed eseguire il conteggio, la somma e la media dei risultati. L'esempio utilizza la clausola Aggregate per eseguire una query per un solo risultato e la clausola Group By per visualizzare una media dei risultati raggruppati.
Dim db As New northwindDataContext Dim msg = "" Dim londonCustomerCount = Aggregate cust In db.Customers Where cust.City = "London" Into Count() msg &= "Count of London Customers: " & londonCustomerCount & vbCrLf Dim averageOrderCount = Aggregate cust In db.Customers Where cust.City = "London" Into Average(cust.Orders.Count) msg &= "Average number of Orders per customer: " & averageOrderCount & vbCrLf Dim venezuelaTotalOrders = Aggregate cust In db.Customers Where cust.Country = "Venezuela" Into Sum(cust.Orders.Count) msg &= "Total number of orders from Customers in Venezuela: " & venezuelaTotalOrders & vbCrLf MsgBox(msg) Dim averageCustomersByCity = From cust In db.Customers Group By cust.City Into Average(cust.Orders.Count) Order By Average DataGridView1.DataSource = averageCustomersByCity
Premere F5 per eseguire il progetto e visualizzare i risultati.
Vedere anche
Attività
Procedura dettagliata: creazione di classi LINQ to SQL (Progettazione relazionale oggetti)
Riferimenti
Clausola Aggregate (Visual Basic)
Clausola Group By (Visual Basic)
Concetti
Metodi DataContext (Progettazione relazionale oggetti)