Como chamar um procedimento armazenado usando LINQ (Visual Basic)
Language-Integrated Consulta (LINQ) facilita o acesso a informações de banco de dados, incluindo objetos de banco de dados, como procedimentos armazenados.
O exemplo a seguir mostra como criar um aplicativo que chama um procedimento armazenado em um banco de dados SQL Server. O exemplo mostra como chamar dois procedimentos armazenados diferentes no banco de dados. Cada procedimento retorna os resultados de uma consulta. Um procedimento usa parâmetros de entrada e o outro procedimento não usa parâmetros.
Os exemplos neste tópico usam o banco de dados de exemplo Northwind. Caso não tenha esse banco de dados no seu computador de desenvolvimento, você poderá baixá-lo no Centro de Download da Microsoft. Para obter as instruções, consulte Baixar Bancos de Dados de Exemplo.
Observação
Seu computador pode mostrar diferentes nomes ou locais para alguns dos elementos de 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 Personalizando o IDE.
Para criar uma conexão com um banco de dados
No Visual Studio, abra o Gerenciador de Servidores/Gerenciador de Banco de Dados clicando em Gerenciador de Servidores/Gerenciador de Banco de Dados no menu Exibir.
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ão.
Especifique uma conexão válida com o banco de dados de exemplo Northwind.
Para adicionar um projeto que contém um arquivo LINQ to SQL
No Visual Studio, no menu Arquivo, aponte para Novo e clique em Projeto. Selecione Aplicativo do Windows Forms no Visual Basic como o tipo de projeto.
No menu Projeto , clique em Adicionar Novo Item. Selecione o modelo de item Classes LINQ to SQL.
Atribua um nome ao arquivo
northwind.dbml
. Clique em Adicionar. O Designer Relacional de Objetos (Object Relational Designer) é aberto para o arquivo northwind.dbml.
Para adicionar procedimentos armazenados ao Designer Relacional de Objetos
No Gerenciador de Servidores/Gerenciador de Banco de Dados, expanda a conexão com o banco de dados Northwind. Expanda a pasta Procedimentos Armazenados .
Se você tiver fechado o Designer Relacional de Objetos, poderá reabri-lo clicando duas vezes no arquivo northwind.dbml que adicionou anteriormente.
Clique no procedimento armazenado Vendas por Ano e arraste-o para o painel direito do designer. Clique no procedimento armazenado Dez Produtos Mais Caros arraste-o para o painel direito do designer.
Salve suas alterações e feche o designer.
Salve seu projeto.
Para adicionar código para exibir os resultados dos procedimentos armazenados
Na Caixa de Ferramentas, arraste um controle DataGridView para o Windows Form padrão para seu projeto, Form1.
Clique duas vezes no Form1 para adicionar código ao evento
Load
.Quando você adicionou procedimentos armazenados ao Designer Relacional de Objetos, o designer adicionou um DataContext objeto para seu projeto. Esse objeto contém o código que você deve ter para acessar esses procedimentos. O DataContext objeto para o projeto é nomeado com base no nome do arquivo .dbml. Para este projeto, o objeto DataContext é chamado
northwindDataContext
.Você pode criar uma instância do DataContext código e chamar os métodos de procedimento armazenado especificados pelo Designer O/R. Para associar ao DataGridView objeto, talvez seja necessário forçar a consulta a ser executada imediatamente chamando o ToList método nos resultados do procedimento armazenado.
Adicione o código a seguir ao
Load
evento para chamar qualquer 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()
Pressione F5 para executar seu projeto e exibir os resultados.