Condividi tramite


Procedura: chiamare una stored procedure utilizzando LINQ (Visual Basic)

Language-Integrated Query (LINQ) semplifica l'accesso alle informazioni del database, inclusi gli oggetti di database come le stored procedure.

Nell'esempio seguente viene illustrato come creare una applicazione che chiama una stored procedure in un database SQL Server. Nell'esempio viene illustrato come chiamare due stored procedure diverse nel database. Ogni procedura restituisce i risultati di una query. Una procedura accetta parametri di input mentre l'altra procedura non accetta parametri.

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 le stored procedure a Progettazione relazionale oggetti

  1. In Esplora server/Esplora database espandere la connessione al database Northwind. Espandere la cartella Stored Procedures.

    Se Progettazione relazionale oggetti è stato chiuso , è possibile riaprirlo facendo doppio clic sul file northwind.dbml aggiunto in precedenza.

  2. Fare clic sullo stored procedure Sales by Year e trascinarlo nel riquadro di destra della finestra di progettazione. Fare clic sullo stored procedure Ten Most Expensive Products e trascinarla nel riquadro di destra della finestra di progettazione.

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

  4. Salvare il progetto.

Per aggiungere il codice per visualizzare i risultati delle stored procedure

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

  2. Fare doppio clic su Form1 per aggiungere il codice all'evento Load.

  3. Quando si aggiungono stored procedure a Progettazione relazionale oggetti, la finestra di progettazione aggiunge un oggetto DataContext al progetto. Questo oggetto contiene il codice necessario per accedere a tali procedure. 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 e chiamare i metodi della stored procedure specificati da Progettazione relazionale oggetti. Per eseguire l'associazione all'oggetto DataGridView può essere necessario forzare la query all'esecuzione immediata chiamando il metodo ToList<TSource> sui risultati della stored procedure.

    Aggiungere il codice seguente all'evento Load per chiamare una qualsiasi delle stored procedure esposte come metodi per il contesto dati.

    Dim db As New northwindDataContext
    
    ' Display the results of the Sales_by_Year stored procedure.
    DataGridView1.DataSource = 
        db.Sales_by_Year(#1/1/1996#, #1/1/2007#).ToList()
    
    
    ...
    
    
    ' Display the results of the Ten_Most_Expensive_Products
    ' stored procedure.
    
    DataGridView1.DataSource = 
        db.Ten_Most_Expensive_Products.ToList()
    
  4. Premere F5 per eseguire il progetto e visualizzare i risultati.

Vedere anche

Attività

Procedura: assegnare stored procedure per l'esecuzione dei comandi di aggiornamento, inserimento ed eliminazione (Progettazione relazionale oggetti)

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