Compartir a través de


Herencia de clases de datos (Object Relational Designer)

 

Publicado: abril de 2016

Al igual que otros objetos, las clases de LINQ to SQL pueden usar la herencia y derivarse de otras clases.En el código, puede especificar las relaciones de la herencia entre los objetos declarando que una clase hereda de otra.En una base de datos, las relaciones de herencia se crean de varias maneras.El Object Relational Designer (Object Relational Designer) admite el concepto de la herencia de tabla única normalmente implementada en los sistemas relacionales.

En la herencia de tabla única, hay una tabla de base de datos única que contiene columnas para las clases base y las derivadas.En el caso de datos relacionales, una columna discriminadora contiene el valor que determina la clase a la que pertenece un registro determinado.Por ejemplo, consideremos una tabla Persons que contiene todas las personas que trabajan en una compañía.Algunas personas son los empleados y otras son los directores.La tabla Persons contiene una columna denominada Type que tiene el valor 1 para directores y el valor 2 para empleados.La columna Type es la columna discriminadora.En este escenario, puede crear una subclase de empleados y rellenar la clase únicamente con los registros cuyo Type tiene el valor 2.

Al configurar la herencia en clases de entidad mediante el Object Relational Designer, arrastre dos veces la tabla única que contiene los datos de la herencia hacia el diseñador: una vez por cada clase en la jerarquía de herencia.Después de agregar las tablas al diseñador, conéctelas con un elemento Herencia del cuadro de herramientas Object Relational Designer y, a continuación, establezca las cuatro propiedades de herencia en la ventana Propiedades.

Propiedades de herencia

En la tabla siguiente se muestran las propiedades de herencia y sus descripciones:

Propiedad Descripción
Propiedad Discriminator La propiedad (asignada a la columna) que determina a qué clase pertenece el registro actual.
Valor de discriminador de clase base El valor (en la columna designada como la propiedad Discriminator) que determina que un registro es de la clase base.
Valor de discriminador de clase derivada El valor (en la propiedad designada como Discriminator) que determina que un registro es de la clase derivada.
Predeterminado de herencia La clase que se debería rellenar cuando el valor en la propiedad designada como la propiedad Discriminator no coincide con el Valor de discriminador de clase base ni con el Valor de discriminador de clase derivada.

La creación de un modelo de objetos que use la herencia y que corresponda a datos relacionales puede resultar un poco confusa.En este tema se proporciona información sobre los conceptos básicos y las propiedades individuales que se necesitan para configurar la herencia.Los temas siguientes proporcionan una explicación más clara de cómo configurar la herencia con el Object Relational Designer.

Tema Descripción
Cómo: Configurar herencia usando Object Relational Designer Describe cómo configurar las clases de entidad que usan la herencia de tabla única mediante el Object Relational Designer.
Tutorial: Crear clases de LINQ to SQL usando la herencia de tabla única (Object Relational Designer) Proporciona instrucciones paso a paso sobre cómo configurar las clases de entidad que usan la herencia de tabla única mediante el Object Relational Designer.

Vea también

Información general sobre Object Relational Designer
Tutorial: Crear clases de LINQ to SQL (Object Relational Designer)
Tutorial: Crear clases de LINQ to SQL usando la herencia de tabla única (Object Relational Designer)
Introducción