Condividi tramite


Procedura: restituire un risultato di query LINQ come tipo specifico (Visual Basic)

Aggiornamento: novembre 2007

Language-Integrated Query (LINQ) semplifica l'accesso a informazioni di database e l'esecuzione di query. Per impostazione predefinita, le query LINQ restituiscono un elenco di oggetti come tipo anonimo. È anche possibile specificare che la query restituisca un elenco di un tipo specifico utilizzando la clausola Select.

Nell'esempio riportato di seguito viene illustrato come creare una nuova applicazione che esegue una query su un database SQL Server e restituisce i risultati come tipo denominato specificato . Per ulteriori informazioni, vedere Tipi anonimi e Clausola Select (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 (LINQ to SQL).

Nota:

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Per creare una connessione al database

  1. In Visual Studio, aprire Esplora server/Esplora database scegliendo Esplora server o Esplora database dal menu Visualizza.

  2. Fare clic con il pulsante destro del mouse su Connessioni dati in Esplora server/Esplora database e quindi scegliere Aggiungi connessione.

  3. Specificare una connessione valida al database di esempio Northwind.

Per aggiungere un progetto che contiene un file LINQ to SQL

  1. Scegliere Nuovo dal menu File di Visual Studio, quindi Progetto. Selezionare Applicazione Windows Form di Visual Basic come tipo di progetto.

  2. Scegliere Aggiungi nuovo elemento dal menu Progetto. Selezionare il modello dell'elemento Classi LINQ to SQL.

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

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

  2. Fare clic sulla tabella Customers e, tenendo premuto il pulsante del mouse, trascinarla nel riquadro di sinistra del Designer.

    La finestra di progettazione crea un nuovo oggetto Customer per il progetto. È possibile progettare un risultato della query come tipo Customer o come un tipo che si desidera creare. Nell'esempio verrà creato un nuovo tipo in una successiva procedura e progettato un risultato della query di tale tipo.

  3. Salvare le modifiche e chiudere le finestra di progettazione.

  4. Salvare il progetto.

Per aggiungere il codice per eseguire query sul database e visualizzare i risultati:

  1. Dalla Casella degli strumenti, trascinare un controllo DataGridView sulla Windows Form predefinita per il progetto, Form1.

  2. Fare doppio clic su Form1 per modificare la classe Form1.

  3. Dopo l'istruzione End Class della classe Form1, aggiungere il codice seguente per creare un tipo CustomerInfo che contenga i risultati della query per questo esempio.

    Public Class CustomerInfo
      Private _CompanyName As String
      Private _ContactName As String
    
      Public Property CompanyName() As String
        Get
          Return _CompanyName
        End Get
        Set(ByVal value As String)
          _CompanyName = value
        End Set
      End Property
    
      Public Property ContactName() As String
        Get
          Return _ContactName
        End Get
        Set(ByVal value As String)
          _ContactName = value
        End Set
      End Property
    End Class
    
  4. 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 insiemi 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 codice seguente all'evento Load della classe Form1 per eseguire una query nelle tabelle esposte come proprietà del contesto dati. La clausola Select della query creerà un nuovo tipo CustomerInfo anziché un tipo anonimo per ogni elemento del risultato della query.

    Dim db As New northwindDataContext
    
    Dim customerList = _
      From cust In db.Customers _
      Where cust.CompanyName.StartsWith("L") _
      Select New CustomerInfo With {.CompanyName = cust.CompanyName, _
                                    .ContactName = cust.ContactName}
    
    DataGridView1.DataSource = customerList
    
  5. Premere F5 per eseguire il progetto e visualizzare i risultati.

Vedere anche

Attività

Procedura dettagliata: creazione di classi LINQ to SQL (Progettazione relazionale oggetti)

Concetti

Metodi DataContext (Progettazione relazionale oggetti)

Altre risorse

LINQ in Visual Basic

Query (Visual Basic)

LINQ to SQL