Compartilhar via


Como: Retornar um resultado da consulta LINQ sistema autônomo um tipo específico (Visual Basic)

Consulta Integrada à Linguagem (LINQ, Language-Integrated Query) facilita o acesso a informações do banco de dados e a execução de consultas.Por padrão, consultas LINQ retornam uma lista de objetos com um tipo anônimo.Você também pode especificar que uma consulta retorne uma lista de um tipo específico usando a cláusula Select.

O exemplo a seguir mostra como criar um novo aplicativo que executa consultas em um banco de dados SQL Server e projeta os resultados como um tipo específico.Para obter mais informações, consulte Tipos anônimos e Cláusula Select (Visual Basic).

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 computador de desenvolvimento, você pode baixá-lo do centralizar de baixar da Microsoft Site da Web.Para obter instruções, consulte Downloading Sample Databases (LINQ to SQL).

Observação:

Seu computador pode mostrar diferentes nomes ou localizações 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 Configurações do 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.

Para adicionar tabelas de consulta para o criador 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 Tabelas.

    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 na tabela Clientes e arraste-a para o painel esquerdo do designer.

    O designer cria um novo objeto Customer para o seu projeto.Você pode projetar um resultado de consulta como o tipo Customer ou um tipo que você criar.Este exemplo criará um novo tipo em um procedimento posterior e projetar um resultado de consulta como esse tipo.

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

  4. Salve seu projeto.

Para adicionar um código de consulta ao banco de dados e exibir os resultados

  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 modificar a classe Form1.

  3. Após a instrução End Class da classe Form1, adicione o código seguinte para criar um tipo CustomerInfo para armazenar os resultados da consulta para esse exemplo.

    Public Class CustomerInfo
      Private _CompanyName As String
      Private _ContactName As String
    
      Public Property CompanyName() As String
        Get
          Return _CompanyName
        End Get
        Set(ByVal value As String)
          _CompanyName = value
        End Set
      End Property
    
      Public Property ContactName() As String
        Get
          Return _ContactName
        End Get
        Set(ByVal value As String)
          _ContactName = value
        End Set
      End Property
    End Class
    
  4. Quando você adicionar tabelas 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 essas tabelas e para acessar objetos individuais e coleções para cada tabela.O objeto DataContext para seu 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 consultar as tabelas especificadas pelo O/R Designer.

    No evento Load, adicione o seguinte código para consultar as tabelas que estão expostas como propriedades de seu contexto de dados.A cláusula Select da consulta irá criar um novo tipo CustomerInfo 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
    
  5. Pressione F5 para executar seu projeto e exibir os resultados.

Consulte também

Tarefas

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

Conceitos

DataContext Methods (O/R Designer)

Outros recursos

LINQ no Visual Basic

Consultas(Visual Basic)

LINQ to SQL