Compartilhar via


Herança de classe de dados (Object Relational Designer)

 

Publicado: abril de 2016

Como outros objetos, LINQ to SQL classes pode usar a herança e ser derivadas de outras classes. No código, você pode especificar as relações de herança entre objetos declarando uma classe que herda de outro. Em um banco de dados, as relações de herança são criadas de várias maneiras. O Object Relational Designer (Designer Relacional de Objetos) suporta o conceito de herança de tabela única como geralmente é implementado em sistemas relacionais.

Herança de tabela única, há uma tabela de banco de dados único que contém colunas para classes base e derivadas. Com dados relacionais, uma coluna de discriminador contém o valor que determina qual classe qualquer determinado registro pertence. Por exemplo, considere uma tabela de pessoas que contém todos empregado por uma empresa. Algumas pessoas são funcionários e algumas pessoas são gerentes. A tabela de pessoas contém uma coluna chamada tipo que tem um valor de 1 para gerentes e um valor de 2 para funcionários. A coluna de tipo é a coluna de discriminador. Nesse cenário, você pode criar uma subclasse de funcionários e preencher a classe com apenas os registros que têm um valor de tipo 2.

Quando você configura a herança em classes de entidade usando o Designer Relacional de Objetos, arraste a tabela única que contém os dados de herança no designer duas vezes: uma vez para cada classe na hierarquia de herança. Depois de adicionar as tabelas para o designer, conectá-los com um item de herança do Object Relational Designer caixa de ferramentas e, em seguida, defina as quatro propriedades de herança na propriedades janela.

Propriedades de herança

A tabela a seguir lista as propriedades de herança e suas descrições:

Propriedade Descrição
Propriedade discriminatória A propriedade (mapeada para a coluna) que determina qual classe o registro atual pertence.
Valor Discriminatório da classe base O valor (na coluna designada como a propriedade de discriminador) que determina que um registro é a classe base.
Valor Discriminatório da classe derivada O valor (na propriedade designada como a propriedade de discriminador) que determina que um registro é da classe derivada.
Padrão de herança A classe deve ser preenchida quando o valor na propriedade designada como o propriedade discriminatória não corresponder a valor Discriminatório da classe Base ou valor Discriminatório da classe derivada.

Criar um modelo de objeto que usa herança e corresponde a dados relacionais pode ser um pouco confuso. Este tópico fornece informações sobre os conceitos básicos e as propriedades individuais que são necessárias para configurar a herança. Os tópicos a seguir fornecem uma explicação mais claro de como configurar a herança com o Designer Relacional de Objetos.

Tópico Descrição
Como: configurar a herança usando Object Relational Designer Descreve como configurar classes de entidade que usam herança de tabela única usando o Designer Relacional de Objetos.
Walkthrough: Creating LINQ to SQL Classes by Using Single-Table Inheritance (O/R Designer) Fornece instruções passo a passo sobre como configurar classes de entidade que usam herança de tabela única usando o Designer Relacional de Objetos.

Consulte também

LINQ to SQL Tools no Visual Studio
Walkthrough: Creating LINQ to SQL Classes (O/R Designer)
Walkthrough: Creating LINQ to SQL Classes by Using Single-Table Inheritance (O/R Designer)
Getting Started