Procedura: Chiamare una Stored Procedure utilizzando LINQ (Visual Basic)How to: Call a Stored Procedure by Using LINQ (Visual Basic)

Language-Integrated Query (LINQ) semplifica accedere alle informazioni di database, tra cui database oggetti, ad esempio stored procedure.Language-Integrated Query (LINQ) makes it easy to access database information, including database objects such as stored procedures.

Nell'esempio seguente viene illustrato come creare un'applicazione che chiama una stored procedure in un database di SQL Server.The following example shows how to create an application that calls a stored procedure in a SQL Server database. Nell'esempio viene illustrato come chiamare due diverse stored procedure nel database.The sample shows how to call two different stored procedures in the database. Ogni routine restituisce i risultati di una query.Each procedure returns the results of a query. Una procedura accetta i parametri di input e l'altra routine non accetta parametri.One procedure takes input parameters, and the other procedure does not take parameters.

Gli esempi in questo argomento usano il database di esempio Northwind.The examples in this topic use the Northwind sample database. Se non è questo database nel computer di sviluppo, è possibile scaricarlo da Microsoft Download Center.If you do not have this database on your development computer, you can download it from the Microsoft Download Center. Per istruzioni, vedere download dei database di esempio.For instructions, see Downloading Sample Databases.

Nota

Nomi o percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso.Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi.The Visual Studio edition that you have and the settings that you use determine these elements. Per altre informazioni, vedere Personalizzazione dell'IDE.For more information, see Personalizing the IDE.

Per creare una connessione a un databaseTo create a connection to a database

  1. In Visual Studio, aprire Esplora Server/Database Explorer facendo Esplora Server/Database Esplora nella visualizzazione menu.In Visual Studio, open Server Explorer/Database Explorer by clicking Server Explorer/Database Explorer on the View menu.

  2. Fare doppio clic su connessioni dati nelle Esplora Server/Esplora Database e quindi fare clic su Aggiungi connessione.Right-click Data Connections in Server Explorer/Database Explorer and then click Add Connection.

  3. Specificare una connessione valida al database di esempio Northwind.Specify a valid connection to the Northwind sample database.

Per aggiungere un progetto che contiene un file LINQ to SQLTo add a project that contains a LINQ to SQL file

  1. In Visual Studio scegliere Nuovo dal menu File e quindi fare clic su Progetto.In Visual Studio, on the File menu, point to New and then click Project. Selezionare Visual Basic Windows Forms Application come tipo di progetto.Select Visual Basic Windows Forms Application as the project type.

  2. Nel menu Progetto fare clic su Aggiungi nuovo elemento.On the Project menu, click Add New Item. Selezionare il classi LINQ to SQL modello di elemento.Select the LINQ to SQL Classes item template.

  3. Denominare il file northwind.dbml.Name the file northwind.dbml. Fare clic su Aggiungi.Click Add. Viene aperto il Object Relational Designer (O/R Designer) per il file Northwind. dbml.The Object Relational Designer (O/R Designer) is opened for the northwind.dbml file.

Per aggiungere stored procedure a O/R DesignerTo add stored procedures to the O/R Designer

  1. Nelle Esplora Server/Esplora Database, espandere la connessione al database Northwind.In Server Explorer/Database Explorer, expand the connection to the Northwind database. Espandere la Stored procedure cartella.Expand the Stored Procedures folder.

    Se è stato chiuso O/R Designer, è possibile riaprirlo facendo doppio clic sul file Northwind. dbml aggiunti in precedenza.If you have closed the O/R Designer, you can reopen it by double-clicking the northwind.dbml file that you added earlier.

  2. Scegliere il Sales by Year stored procedure e trascinarlo nel riquadro a destra della finestra di progettazione.Click the Sales by Year stored procedure and drag it to the right pane of the designer. Scegliere il Ten Most Expensive Products stored procedure trascinarla nel riquadro a destra della finestra di progettazione.Click the Ten Most Expensive Products stored procedure drag it to the right pane of the designer.

  3. Salvare le modifiche e chiudere la finestra di progettazione.Save your changes and close the designer.

  4. Salvare il progetto.Save your project.

Per aggiungere il codice per visualizzare i risultati delle stored procedure.To add code to display the results of the stored procedures

  1. Dal casella degli strumenti, trascinare un DataGridView controllo nel Form di Windows predefinito per il progetto, Form1.From the Toolbox, drag a DataGridView control onto the default Windows Form for your project, Form1.

  2. Fare doppio clic su Form1 per aggiungere codice al relativo Load evento.Double-click Form1 to add code to its Load event.

  3. Quando si aggiungono le stored procedure per la finestra di Progettazione relazionale oggetti, la finestra di progettazione aggiunge un DataContext oggetto per il progetto.When you added stored procedures to the O/R Designer, the designer added a DataContext object for your project. Questo oggetto contiene il codice che è necessario disporre per accedere a tali procedure.This object contains the code that you must have to access those procedures. Il DataContext oggetto per il progetto viene denominato in base al nome del file. dbml.The DataContext object for the project is named based on the name of the .dbml file. Per questo progetto, il DataContext oggetto è denominato northwindDataContext.For this project, the DataContext object is named northwindDataContext.

    È possibile creare un'istanza di DataContext nel codice e chiamare i metodi della stored procedure specificata da O/R Designer.You can create an instance of the DataContext in your code and call the stored procedure methods specified by the O/R Designer. Per associare al DataGridView dell'oggetto, potrebbe essere necessario forzare la query vengono eseguite immediatamente chiamando il ToList metodo sui risultati della stored procedure.To bind to the DataGridView object, you may have to force the query to execute immediately by calling the ToList method on the results of the stored procedure.

    Aggiungere il codice seguente per il Load chiamare una delle stored procedure esposte come metodi per il contesto dati dell'evento.Add the following code to the Load event to call either of the stored procedures exposed as methods for your data context.

    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.Press F5 to run your project and view the results.

Vedere ancheSee also