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
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.
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 Defina a coluna de identificação como a chave primária.
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
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.)
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
No Visual Studio, no menu Arquivo, selecione Novo>Projeto.
Expanda Visual C# ou Visual Basic no painel esquerdo e selecione Área de Trabalho do Windows.
No painel central, selecione o tipo de projeto Aplicativo Windows Forms.
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
No menu Projeto , clique em Adicionar Novo Item.
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
No Gerenciador de Servidores ou Gerenciador de Banco de Dados, navegue até a tabela Person que você criou anteriormente.
Arraste a tabela Person para a superfície de design do Designer Relacional de Objetos.
Arraste uma segunda tabela Person para o Designer Relacional de Objetos e altere o nome dela para Employee.
Exclua a propriedade Manager do objeto Pessoa.
Exclua as propriedades Type, ID, FirstName e LastName do objeto Employee. (Em outras palavras, exclua todas as propriedades exceto Gerente.)
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.
Clique na linha Herança na superfície de design.
Defina a Propriedade Discriminatória como Tipo.
Defina a propriedade Valor Discriminatório da Classe Derivada como 2.
Defina a propriedade Valor Discriminatório da Classe Base como 1.
Defina a propriedade Padrão de Herança como Pessoa.
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
Arraste um controle ListBox para Form1.
Clique duas vezes no formulário para criar um manipulador de eventos
Form1_Load
.Adicione o seguinte código ao manipulador de eventos do
Form1_Load
:
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
Pressione F5.
Verifique se apenas os registros que têm um valor de 2 na coluna Tipo são exibidos.
Feche o formulário. (No menu Depurar, clique em Parar Depuração.)
Conteúdo relacionado
- Ferramentas do LINQ to SQL no Visual Studio
- Passo a passo: criando classes LINQ to SQL (Designer Relacional de Objetos)
- Como atribuir procedimentos armazenados para executar atualizações, inserções e exclusões (Designer Relacional de Objetos)
- LINQ to SQL
- Como gerar o modelo de objeto em Visual Basic ou C#