Compartir a través de


Cómo: Crear una asociación (relación) entre las clases de LINQ to SQL (Diseñador relacional de objetos)

Actualización: November 2007

Las asociaciones entre las clases de entidad de LINQ to SQL son análogas a las relaciones entre las tablas de una base de datos. Puede crear asociaciones entre las clases de entidad mediante el cuadro de diálogo Editor de asociaciones.

Debe seleccionar una clase primaria y una clase secundaria si usa el cuadro de diálogo Editor de asociaciones para crear una asociación. La clase primaria es la clase de entidad que contiene la clave principal; la clase secundaria es la clase de entidad que contiene la clave externa. Por ejemplo, si se crearan clases de entidad asignadas a las tablas Customers y Orders de Northwind, la clase Customer sería la clase primaria y la clase Order sería la clase secundaria.

Nota:

Al arrastrar tablas del Explorador de servidores/Explorador de bases de datos hasta el Diseñador relacional de objetos (Diseñador relacional de objetos), las asociaciones se crean automáticamente basándose en las relaciones de clave externa existentes en la base de datos.

Después de crear una asociación, al seleccionarla en el Diseñador relacional de objetos, hay algunas propiedades configurables en la ventana Propiedades. (La asociación es la línea entre las clases relacionadas.) En la tabla siguiente figuran las descripciones de las propiedades de una asociación.

Propiedad

Descripción

Cardinalidad

Controla si se trata de una asociación uno a varios, o bien, uno a uno.

Propiedad secundaria

Especifica si se va a crear una propiedad en el elemento primario que es una colección o referencia a los registros secundarios en el lado de la clave externa de la asociación. Por ejemplo, en la asociación entre Customer y Order, si Propiedad secundaria está establecida en True, se crea una propiedad denominada Orders en la clase primaria.

Propiedad principal

La propiedad en la clase secundaria que hace referencia a la clase primaria asociada. Por ejemplo, en la asociación entre Customer y Order, se crea en la clase Order una propiedad denominada Customer que hace referencia al cliente asociado de un pedido.

Propiedades participantes

Muestra las propiedades de asociación y proporciona un botón de puntos suspensivos (...) que vuelve a abrir el cuadro de diálogo Editor de asociaciones.

Único

Especifica si las columnas de destino externas tienen una restricción de unicidad.

Para crear una asociación entre clases de entidad

  1. Haga clic con el botón secundario del mouse en la clase de entidad que represente la clase primaria en la asociación, elija Agregary, a continuación, haga clic en Asociación.

  2. Compruebe que está seleccionada la Clase primaria correcta en el cuadro de diálogo Editor de asociaciones.

  3. En el cuadro combinado, seleccione la Clase secundaria.

  4. Seleccione las Propiedades de la asociación que relacionen las clases. Normalmente, se asigna a la relación de clave externa definida en la base de datos. Por ejemplo, en la asociación entre Customers y Orders, las Propiedades de la asociación son el identificador de cliente (CustomerID) de cada clase.

  5. Haga clic en Aceptar para crear la asociación.

Vea también

Tareas

Tutorial: Crear clases de LINQ to SQL (Diseñador relacional de objetos)

Cómo: Representar claves principales (LINQ to SQL)

Conceptos

Información general sobre el Diseñador relacional de objetos

Métodos DataContext (Diseñador relacional de objetos)

Otros recursos

LINQ to SQL