Compartilhar via


Passo a passo: criar classes LINQ to SQL usando herança de tabela única (Designer O/R)

As ferramentas 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 expande sobre as etapas genéricas fornecidas no tópico Como configurar a herança usando o tópico do Designer O/R e fornece alguns dados reais para demonstrar o uso da herança no Designer O/R.

Durante este passo a passo, você executa as seguintes tarefas:

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

  • Criar um aplicativo do Windows Forms.

  • Adicione um arquivo LINQ ao SQL a um projeto.

  • Crie novas classes de entidade.

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

  • Consulte a classe herdada.

  • Exiba os dados em um Formulário do Windows.

Criar uma tabela para herdar de

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

Para criar uma tabela base para demonstrar a herança

  1. No Gerenciador de Servidores ou No 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ê pode 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 ID como a chave primária.

  4. Salve a tabela e nomeie-a 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 na exibição de dados. (Clique com o botão direito do mouse na tabela Pessoa no Gerenciador de Servidores ou no Gerenciador de Banco de Dados e clique em Mostrar Dados da Tabela.)

  2. Copie os dados a seguir para a tabela. (Você pode copiá-la e colá-la na tabela selecionando a linha inteira no Painel de 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 para demonstrar a configuração da herança.

Para criar o novo aplicativo do Windows Forms

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

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

  3. No painel do meio, selecione o tipo de projeto de Aplicativo do 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 LINQ ao SQL ao projeto

Para adicionar um arquivo LINQ para SQL ao projeto

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

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

    O .dbml arquivo é adicionado ao projeto e o Designer O/R é aberto.

Criar a herança usando o Designer O/R

Configurar 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 No Gerenciador de Banco de Dados, navegue até a tabela Pessoa que você criou anteriormente.

  2. Arraste a tabela Person para a superfície de design do O/R Designer.

  3. Arraste uma segunda tabela Person para o Designer O/R e altere seu nome para Funcionário.

  4. Exclua a propriedade Manager do objeto Person .

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

  6. Na guia Designer Relacional de Objeto do 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, em seguida, no objeto Person no Designer O/R. A seta na linha de herança aponta para o objeto Person .

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

  8. Defina a propriedade Discriminator Property como Type.

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

  10. Defina a propriedade Valor Discriminatório de 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ê adiciona algum 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 uma ListBox para o Form1.

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

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

    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 funcionários (registros que têm um valor de 2 na coluna Type ).

Para testar o aplicativo

  1. Pressione F5.

  2. Verifique se somente os registros que têm um valor de 2 em sua coluna Type são exibidos.

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