Creación de una asociación entre clases de LINQ to SQL (Object Relational Designer)
Las asociaciones entre clases de entidades en LINQ to SQL son similares a las relaciones entre tablas en una base de datos. Puede crear asociaciones entre clases de entidades mediante el cuadro de diálogo Editor de asociaciones.
Si utiliza el Editor de asociaciones para crear una asociación, deberá seleccionar una clase primaria y otra secundaria. La clase primaria es la clase de entidad que contiene la clave principal y la clase secundaria es la clase de entidad que contiene la clave externa. Por ejemplo, si se crearon clases de entidad y se asignaron a las tablas Northwind Customers
y Orders
, la clase Customer
sería la clase primaria y Order
, la secundaria.
Nota
Al arrastrar las tablas desde el Explorador de servidores o el Explorador de bases de datos al Object Relational Designer, las asociaciones se crearán automáticamente en función de las relaciones existentes entre las claves externas en la base de datos.
Propiedades de la asociación
Una vez creada una asociación, al seleccionarla en el Object Relational Designer, se mostrarán algunas propiedades configurables en la ventana Propiedades. (La asociación es la línea entre las clases relacionadas). En la tabla siguiente se proporcionan descripciones de las propiedades de una asociación.
Propiedad | Descripción |
---|---|
Cardinalidad | Controla si la asociación es de uno a varios o de uno a uno. |
Child Property | Especifica si se debe crear una propiedad en el registro primario que es una colección o se debe hacer referencia a los registros secundarios en el lado de las claves externas de la asociación. Por ejemplo, en la asociación entre Customer y Order , si la Propiedad secundaria se establece en True, en la clase primaria se creará una propiedad denominada Orders . |
Propiedad Parent | La propiedad de la clase secundaria que hace referencia a la clase primaria asociada. Por ejemplo, en la asociación entre Customer y Order , en la clase Order se creará una propiedad denominada Customer que hará referencia al cliente asociado de un pedido. |
Propiedades de participantes | Muestra las propiedades de asociación y proporciona un botón de puntos suspensivos (...) que abre de nuevo 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
Haga clic con el botón derecho en la clase de entidad que represente la clase primaria de la asociación, seleccione Agregar y después seleccione Asociación.
Compruebe que se haya seleccionado la Clase primaria correcta en el cuadro de diálogo Editor de asociaciones.
En el cuadro combinado, seleccione Clase secundaria.
Seleccione las Propiedades de la asociación que relacionan las clases. Por lo general, se asigna a la relación entre claves externas definida en la base de datos. Por ejemplo, en la asociación de
Customers
yOrders
, las Propiedades de la asociación representan elCustomerID
de cada clase.Haga clic en Aceptar para crear la asociación.
Contenido relacionado
- LINQ to SQL tools en Visual Studio (Herramientas LINQ to SQL en Visual Studio)
- Cómo: Crear clases de LINQ to SQL asignadas a tablas y vistas (Object Relational Designer)
- LINQ to SQL
- DataContext methods (O/R Designer) (Métodos DataContext [Object Relational Designer])
- Procedimiento para representar claves principales