Como retornar um resultado de consulta LINQ como um tipo específico (Visual Basic)
O LINQ (Language-Integrated Query) facilita o acesso às informações do banco de dados e a execução de consultas. Por padrão, as consultas LINQ retornam uma lista de objetos como um tipo anônimo. Você também pode especificar que uma consulta retorne uma lista de um tipo específico usando a Select
cláusula.
O exemplo a seguir mostra como criar um novo aplicativo que executa consultas em um banco de dados do SQL Server e projeta os resultados como um tipo nomeado específico. Para obter mais informações, consulte Tipos anônimos e Selecionar cláusula.
Os exemplos neste tópico usam o banco de dados de exemplo Northwind. Se não tiver esta base de dados no computador de desenvolvimento, pode transferi-la a partir do Centro de Transferências da Microsoft. Para obter instruções, consulte Download de bancos de dados de exemplo.
Nota
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ê tem 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 Banco de Dados do Gerenciador/de Servidores clicando em Gerenciador de Banco de Dados do Gerenciador/de Servidores no menu Exibir.
Clique com o botão direito do rato em Ligações de Dados no Explorador de Bases de Dados do Explorador/ de Servidores e, em seguida, clique em Adicionar Ligaçã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 Visual Basic Windows Forms Application como o tipo de projeto.
No menu Projeto, clique em Adicionar Novo Item. Selecione o modelo de item LINQ to SQL Classes .
Dê o nome
northwind.dbml
ao ficheiro. Clique em Adicionar. O Object Relational Designer (O/R Designer) é aberto para o arquivo northwind.dbml.
Para adicionar tabelas à consulta ao O/R Designer
No Gerenciador de Bancos de Dados do Gerenciador/de Servidores, expanda a conexão com o banco de dados Northwind. Expanda a pasta Tabelas .
Se você tiver fechado o O/R Designer, poderá reabri-lo clicando duas vezes no arquivo northwind.dbml adicionado anteriormente.
Clique na tabela Clientes e arraste-a para o painel esquerdo do designer.
O designer cria um novo
Customer
objeto para o seu projeto. Você pode projetar um resultado de consulta como oCustomer
tipo ou como um tipo que você cria. Este exemplo criará um novo tipo em um procedimento posterior e projetará um resultado de consulta como esse tipo.Salve as alterações e feche o designer.
Guarde o seu projeto.
Para adicionar código para consultar o banco de dados e exibir os resultados
Na caixa de ferramentas, arraste um DataGridView controle para o Windows Form padrão para seu projeto, Form1.
Clique duas vezes em Form1 para modificar a classe Form1.
Após a
End Class
instrução da classe Form1, adicione o código a seguir para criar umCustomerInfo
tipo para armazenar os resultados da consulta para este exemplo.Public Class CustomerInfo Public Property CompanyName As String Public Property ContactName As String End Class
Quando você adicionou tabelas ao O/R Designer, o designer adicionou um DataContext objeto ao seu projeto. Este objeto contém o código que você deve ter para acessar essas tabelas e para acessar objetos e coleções individuais para cada tabela. O DataContext objeto para seu projeto é nomeado com base no nome do seu arquivo .dbml. Para este projeto, o DataContext objeto é chamado
northwindDataContext
.Você pode criar uma instância do DataContext em seu código e consultar as tabelas especificadas pelo O/R Designer.
Load
No caso da classe Form1, adicione o código a seguir para consultar as tabelas que são expostas como propriedades do seu contexto de dados. ASelect
cláusula da consulta criará um novoCustomerInfo
tipo em vez de um tipo anônimo para cada item do resultado da consulta.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
Pressione F5 para executar seu projeto e visualizar os resultados.
Consulte também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários