Partilhar via


Passo a passo: criar classes LINQ to SQL usando a herança de tabela única (Designer Relacional de Objetos)

As ferramentas de LINQ to SQL no Visual Studio dão suporte à herança de tabela única, pois normalmente são implementadas em sistemas relacionais. Este passo a passo se aprofunda nas etapas genéricas fornecidas no tópico Como configurar a herança usando o Designer Relacional de Objetos e fornece alguns dados reais para demonstrar o uso da herança no Designer Relacional de Objetos.

Nestas instruções passo a passo, as seguintes tarefas serão executadas:

  • Criar uma tabela de banco de dados e adicione dados a ela.

  • Criar um aplicativo do Windows Forms.

  • Adicionar um arquivo LINQ to SQL a um projeto.

  • Criar novas classes de entidade.

  • Configurar as classes de entidade para usar herança.

  • Consultar a classe herdada.

  • Exibir os dados em um Windows Form.

Criar uma tabela da qual herdar

Para ver como a herança funciona, você criará uma pequena tabela Person, usará como uma classe base e, em seguida, criará um objeto Employee que herda dela.

Para criar uma tabela base para demonstrar a herança

  1. No Gerenciador de Servidores ou Gerenciador de Banco de Dados, clique com o botão direito do mouse no nó Tabelas e clique em Adicionar Nova Tabela.

    Observação

    Você pode usar o banco de dados Northwind ou qualquer outro banco de dados ao qual você possa adicionar uma tabela.

  2. No Designer de Tabela, adicione as seguintes colunas à tabela:

    Nome da coluna Tipo de Dados Permitir Nulos
    ID int Falso
    Tipo int Verdadeiro
    Nome nvarchar(200) Falso
    Sobrenome nvarchar(200) Falso
    Gerente int Verdadeiro
  3. Defina a coluna de identificação como a chave primária.

  4. Salve a tabela e dê a ela o nome de Pessoa.

Adicionar dados à tabela

Para que você possa verificar se a herança está configurada corretamente, a tabela precisa de alguns dados para cada classe na herança de tabela única.

Para adicionar dados à tabela

  1. Abra a tabela no modo de exibição de dados. (Clique com o botão direito do mouse na tabela Person no Gerenciador de Servidores ou Gerenciador de Banco de Dados e clique em Mostrar Dados da Tabela.)

  2. Copie os seguintes dados na tabela. (Você pode copiar e colar na tabela selecionando a linha inteira no painel Resultados.)

    ID Tipo Nome Sobrenome Gerente
    1 1 Anne Wallace NULL
    2 1 Carlos Grilo NULL
    3 1 Yael Peled NULL
    4 2 Gatis Ozolins 1
    5 2 Andreas Hauser 1
    6 2 Tiffany Phuvasate 1
    7 2 Alexey Orekhov 2
    8 2 Michał Poliszkiewicz 2
    9 2 Tai Yee 2
    10 2 Fabricio Noriega 3
    11 2 Mindy Martin 3
    12 2 Ken Kwok 3

Criar um novo projeto

Agora que você criou a tabela, crie um novo projeto demonstrar a configuração de herança.

Para criar o aplicativo do Windows Forms

  1. No Visual Studio, no menu Arquivo, selecione Novo>Projeto.

  2. Expanda Visual C# ou Visual Basic no painel esquerdo e selecione Área de Trabalho do Windows.

  3. No painel central, selecione o tipo de projeto Aplicativo Windows Forms.

  4. Nomeie o projeto InheritanceWalkthrough e escolha OK.

    O projeto InheritanceWalkthrough é criado e adicionado ao Gerenciador de Soluções.

Adicionar um arquivo de classes do LINQ to SQL ao projeto

Para adicionar um arquivo LINQ to SQL ao projeto

  1. No menu Projeto , clique em Adicionar Novo Item.

  2. Clique no modelo Classes LINQ to SQL e selecione Adicionar.

    O arquivo .dbml é adicionado ao projeto e o Designer Relacional de Objetos é aberto.

Criar a herança usando o Designer Relacional de Objetos

Configure a herança arrastando um objeto Herança da Caixa de Ferramentas para a superfície de design.

Para criar a herança

  1. No Gerenciador de Servidores ou Gerenciador de Banco de Dados, navegue até a tabela Person que você criou anteriormente.

  2. Arraste a tabela Person para a superfície de design do Designer Relacional de Objetos.

  3. Arraste uma segunda tabela Person para o Designer Relacional de Objetos e altere o nome dela para Employee.

  4. Exclua a propriedade Manager do objeto Pessoa.

  5. Exclua as propriedades Type, ID, FirstName e LastName do objeto Employee. (Em outras palavras, exclua todas as propriedades exceto Gerente.)

  6. Na guia Object Relational Designer da Caixa de Ferramentas, crie uma Herança entre os objetos Pessoa e Funcionário. Para fazer isso, clique no item Herança na Caixa de Ferramentas e solte o botão do mouse. Em seguida, clique no objeto Employee e no objeto Person no Designer Relacional de Objetos. A seta na linha de herança irá apontar para o objeto Person.

  7. Clique na linha Herança na superfície de design.

  8. Defina a Propriedade Discriminatória como Tipo.

  9. Defina a propriedade Valor Discriminatório da Classe Derivada como 2.

  10. Defina a propriedade Valor Discriminatório da Classe Base como 1.

  11. Defina a propriedade Padrão de Herança como Pessoa.

  12. Compile o projeto.

Consultar a classe herdada e exibir os dados no formulário

Agora você adicionará um código ao formulário que consulta uma classe específica no modelo de objeto.

Para criar uma consulta LINQ e exibir os resultados no formulário

  1. Arraste um controle ListBox para Form1.

  2. Clique duas vezes no formulário para criar um manipulador de eventos Form1_Load.

  3. Adicione o seguinte código ao manipulador de eventos do Form1_Load:

    NorthwindDataContext dc = new DataClasses1DataContext();
    var results = from emp in dc.Persons
                  where emp is Employee
                  select emp;
    
    foreach(Employee Emp in results)
    {
        listBox1.Items.Add(Emp.LastName)
    }
    

Testar o aplicativo

Execute o aplicativo e verifique se os registros exibidos na caixa de listagem são todos empregados (os registros que têm um valor de 2 na coluna Tipo).

Para testar o aplicativo

  1. Pressione F5.

  2. Verifique se apenas os registros que têm um valor de 2 na coluna Tipo são exibidos.

  3. Feche o formulário. (No menu Depurar, clique em Parar Depuração.)