Procedura: Ordinare i risultati delle query usando LINQ (Visual Basic)
Language-Integrated Query (LINQ) semplifica l'accesso alle informazioni sul database ed esegue query.
L'esempio seguente illustra come creare una nuova applicazione che esegue query su un database di SQL Server e ordina i risultati in base a più campi usando la clausola Order By
. L'ordinamento per ogni campo può essere crescente o decrescente. Per altre informazioni, vedere clausola Order By.
Gli esempi in questo articolo usano il database di esempio Northwind. Per ottenere il database, vedere Scaricare i Database di Esempio.
Nota
Il computer potrebbe visualizzare nomi o percorsi diversi per alcuni degli elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. L'edizione di Visual Studio disponibile e le impostazioni usate determinano questi elementi. Per ulteriori informazioni, consultare Personalizzazione dell'IDE.
Per creare una connessione a un database
In Visual Studio aprire Esplora server/ Esplora database facendo clic su Esplora server /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 contenente un file LINQ to SQL
Nel menu File di Visual Studio, passare a Nuovo e quindi fare clic su Progetto. Selezionare Visual Basic Windows Form Application come tipo di progetto.
Nel menu del progetto , fare clic su Aggiungi nuovo elemento. Selezionare il modello di elemento LINQ to SQL Classes.
Denominare il file
northwind.dbml
. Fare clic su Aggiungi. La Progettazione relazionale di oggetti (O/R Designer) viene aperta per il file northwind.dbml.
Per aggiungere tabelle per eseguire query in Progettazione O/R
In Esplora server/Esplora database, espandi la connessione al database Northwind. Espandi la cartella Tabelle.
Se la finestra di progettazione O/R è stata chiusa, è possibile riaprirla facendo doppio clic sul file northwind.dbml aggiunto in precedenza.
Fare clic sulla tabella Customers e trascinarla nel riquadro sinistro della finestra di progettazione. Fare clic sulla tabella Orders e trascinarla nel riquadro sinistro della finestra di progettazione.
Il designer crea nuovi oggetti
Customer
eOrder
per il vostro progetto. Si noti che la finestra di progettazione rileva automaticamente le relazioni tra le tabelle e crea proprietà figlio per gli oggetti correlati. Ad esempio, IntelliSense mostrerà che l'oggettoCustomer
ha una proprietàOrders
per tutti gli ordini correlati al cliente.Salvare le modifiche e chiudere la finestra di progettazione.
Salva il progetto.
Per aggiungere 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 codice all'evento
Load
del modulo.Quando sono state aggiunte tabelle al Designer O/R, la finestra di progettazione ha aggiunto un oggetto DataContext al progetto. Questo oggetto contiene il codice necessario per accedere a tali tabelle e per accedere a singoli oggetti e 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 è denominato
northwindDataContext
.È possibile creare un'istanza del DataContext nel codice ed eseguire query sulle tabelle specificate da O/R Designer.
Aggiungere il codice seguente all'evento
Load
per eseguire query sulle tabelle esposte come proprietà del contesto dati e ordinare i risultati. La query ordina i risultati in base al numero di ordini cliente, in ordine decrescente. I clienti con lo stesso numero di ordini vengono ordinati in base al nome della società in ordine crescente (impostazione predefinita).Dim db As New northwindDataContext Dim q = From cust In db.Customers Where cust.Orders.Count > 0 Select cust.CustomerID, cust.CompanyName, OrderCount = cust.Orders.Count, cust.Country Order By OrderCount Descending, CompanyName DataGridView1.DataSource = q
Premere F5 per eseguire il progetto e visualizzare i risultati.