Como: Configurar a herança usando o designer do/R
Object Relational Designer (Designer Relacional de Objetos) suporta o conceito de herança de tabela única como geralmente é implementado em sistemas relacionais. A herança de tabela única, há uma única tabela de base de dados que contém campos para informações pai e informações de filho. Com dados relacionais, uma coluna de discriminador contém o valor que determina qual classe qualquer registro pertence.
Por exemplo, considere pessoas a tabela 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 EmployeeType que tenha um valor de 1 para gerentes e um valor de 2 para funcionários; esta é 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 EmployeeType de 2. Você pode também remover colunas que não se aplicam de cada uma das classes.
Criar um modelo de objeto que usar herança (e corresponde a dados relacionais) pode ser um pouco confuso. O procedimento a seguir descreve as etapas necessárias para configurar a herança com object relational Designer de Objetos. Após as etapas genéricos sem se referir a uma tabela existente e colunas pode ser difícil, para uma explicação passo a passo que usa dados é fornecido. Para instruções passo a passo detalhadas para configurar a herança usando Designer Relacional de Objetos, consulte Passo a passo: Criando classes LINQ to SQL usando a herança de tabela única (Designer Relacional de Objetos).
Para criar classes de dados herdadas
Abra Designer Relacional de Objetos adicionando um item de Classes LINQ to SQLa um projeto existente do Visual Basic ou C#.
Arraste a tabela que você deseja usar como a classe base em Designer Relacional de Objetos.
Arraste uma segunda cópia da tabela em Designer Relacional de Objetos e renomeie. Esta é a classe derivada, ou subclasse.
Clique na guia Herança de Object Relational Designer de Caixa de Ferramentase em seguida, clique na subclasse (a tabela que você renomeou) e conecta-se a classe base.
Dica
Clique no item de Herança em Caixa de Ferramentas e liberar o botão do mouse, clique na segunda cópia de classe que você criou na etapa 3, clique na primeira classe que você criou na etapa 2.A seta na linha de herança irá apontar para a primeira classe.
Em cada classe, excluir todas as propriedades do objeto que você não deseja que apareça e que não são usadas para associações. Você receberá um erro se você tentar excluir as propriedades do objeto usadas para associações: O nome da propriedade da propriedade> <não pode ser excluído porque está participando do nome <de associação de associação>.
Dica
Como uma classe derivada herda as propriedades definidas na sua classe base, as mesmas colunas não podem ser definidas em cada classe.(As colunas são implementadas como propriedades.) Você pode ativar a criação das colunas na classe derivada definindo o modificador de herança na propriedade na classe base.Para obter mais informações, consulte Overriding Properties and Methods.
Selecione a linha de herança em Designer Relacional de Objetos.
Na janela de Propriedades , defina Propriedade Discriminatória ao nome da coluna que é usado para distinguir os registros em suas classes.
Defina a propriedade de Valor Discriminatório da Classe Derivada para o valor na base de dados que designa o registro como o tipo herdado. (Esse é o valor que são armazenados na coluna de discriminador e que é usado para designar a classe herdada.)
Defina a propriedade de Valor Discriminador de Classe Base para o valor que designa o registro como um tipo base. (Esse é o valor que são armazenados na coluna de discriminador e que é usado para designar a classe base.)
Opcionalmente, você pode também definir a propriedade de Padrão de Herança para designar um tipo em uma hierarquia de herança que é usada para carregar as linhas que não correspondem nenhum código de herança definido. Ou seja se um registro possui um valor na coluna de discriminador que não corresponde ao valor nas propriedades de Valor Discriminatório da Classe Derivada ou de Valor Discriminador de Classe Base , o registro será carregado no tipo designado como Padrão de Herança.
Consulte também
Tarefas
Passo a passo: criando classes LINQ to SQL (Designer Relacional de Objetos)
Referência
Herança (Guia de Programação em C#)
Conceitos
Outros recursos
Novidades para desenvolvimento de aplicativos de dados no Visual Studio 2012