Share via


Como: chamar um procedimento armazenado usando LINQ (Visual Basic)

A Consulta Integrada à Linguagem (LINQ) facilita o acesso a informações do banco de dados, incluindo objetos de banco de dados como procedimentos armazenados.

O exemplo a seguir mostra como criar um aplicativo que chama uma procedimento armazenado em um banco de dados SQL Server.O exemplo mostra como chamar dois procedimentos diferentes armazenados no banco de dados.Cada procedimento retorna os resultados de uma consulta.Um procedimento utiliza parâmetros de entrada, e o outro procedimento não aceita parâmetros.

Os exemplos neste tópico usam o banco de dados de exemplo Northwind.Se você não tiver o banco de dados de exemplo Northwind no seu computador de desenvolvimento, você poderá baixá-lo do site da Web Microsoft Download Center.Para obter instruções, consulte Downloading Sample Databases (LINQ to SQL).

ObservaçãoObservação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio.

Para criar uma conexão com um banco de dados

  1. No Visual Studio, abra Gerenciador de Servidores/Gerenciador de Banco de Dados clicando em Gerenciador de Servidores/Gerenciador de Banco de Dados no menu Exibir .

  2. Clique com o botão direito do mouse em Conexões de Dados no Gerenciador de Servidores/Gerenciador de Banco de Dados e, em seguida, clique em Adicionar Conexões.

  3. Especifique uma conexão válida ao banco de dados de exemplo Northwind.

Para adicionar um projeto que contém um arquivo LINQ to SQL

  1. No Visual Studio, no menu File, aponte para New e em seguida clique em Project.Selecione Aplicativo Windows Forms Visual Basic como o tipo de projeto.

  2. No menu Project, clique em Add New Item.Selecione o modelo de item Classes LINQ to SQL .

  3. Nomeie o arquivo northwind.dbml.Clique em Adicionar.O Object Relational Designer (O/R Designer) é aberto para o arquivo northwind.dbml.

Adicionar procedimentos armazenados ao Designer O/R

  1. Em Gerenciador de Servidores/ Gerenciador de Banco de dados , expanda a conexão para o banco de dados Northwind.Expanda a pasta Procedimentos Armazenados .

    Se você tiver fechado o O/R Designer, você poderá reabri-lo clicando duas vezes no arquivo northwind.dbml que você adicionou anteriormente.

  2. Clique no procedimento armazenado Sales by Year e arraste-o para painel à direita do designer.Clique no procedimento armazenado Ten Most Expensive Products e arraste-o para o painel à direita do designer.

  3. Salve suas alterações e feche o designer.

  4. Salve seu projeto.

Adicionar código para exibir os resultados dos procedimentos armazenados

  1. Da Caixa de Ferramentas, arraste um controle DataGridView para o Windows Form padrão para seu projeto, Form1.

  2. Clique duas vezes em Form1 para adicionar código ao evento Load.

  3. Quando você adicionou procedimentos armazenados ao O/R Designer, o designer adicionará um objeto DataContext ao projeto.Este objeto contém o código que você deve ter para acessar esses procedimentos.O objeto DataContext para o projeto é nomeado com base no nome do arquivo .dbml.Para este projeto, o objeto DataContext é denominado northwindDataContext.

    Você pode criar uma instância de DataContext no seu código e chamar os métodos de procedimento armazenados especificados pelo O/R Designer.Para vincular ao objeto DataGridView, talvez você precise forçar que a consulta execute imediatamente chamando o método ToList<TSource> nos resultados do procedimento armazenado.

    Adicione o seguinte código ao evento Load para chamar um dos procedimentos armazenados expostos como métodos para o contexto de dados.

    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. Pressione F5 para executar seu projeto e exibir os resultados.

Consulte também

Tarefas

How to: Assign Stored Procedures to Perform Updates, Inserts, and Deletes (O/R Designer)

Walkthrough: Creating LINQ to SQL Classes (O/R Designer)

Conceitos

DataContext Methods (O/R Designer)

Outros recursos

LINQ em Visual Basic

Consultas (Visual Basic)

LINQ to SQL