Cómo: Definir relaciones de datos en LightSwitch
Para crear, modificar o eliminar relaciones entre datos se puede usar el diseñador de datos en LightSwitch. Mediante el uso de relaciones, puede crear pantallas en las que los datos relacionados funcionan conjuntamente (por ejemplo, una pantalla que muestra los clientes y sus pedidos).
Este documento contiene las siguientes secciones:
Agregar una relación entre tablas o entidades del mismo origen de datos
Agregar una relación entre tablas o entidades de distintos orígenes de datos
Modificar una relación
Valores de multiplicidad
Valores del comportamiento de eliminación
Para obtener una demostración en vídeo relacionada, vea el tema sobre cómo definir datos en una aplicación LightSwitch.
Agregar una relación entre tablas o entidades del mismo origen de datos
Con el diseñador de datos de LightSwitch, puede agregar una relación entre dos tablas en la base de datos interna de LightSwitch. En algunos casos, este diseñador también se puede usar para agregar una relación entre entidades del mismo origen de datos externo. De lo contrario, tendrá que crear dichas relaciones en el servidor y, a continuación, actualizar la conexión de datos en LightSwitch. Para obtener más información sobre cómo actualizar una conexión a un origen de datos, vea Cómo: Conectarse a datos.
Para agregar una relación entre tablas a la base de datos interna de LightSwitch
En el Explorador de soluciones, abra el menú contextual de una de las tablas que desea usar en la relación y, a continuación, elija Abrir.
Nota
Para las aplicaciones que se han actualizado a Visual Studio 2012 Update 2, en la barra Perspectiva, elija la pestaña Servidor.
En el Diseñador de datos, en la barra de comandos, elija el botón Relación.
En el cuadro de diálogo Agregar nueva relación, en la fila Nombre, elija las dos tablas a las que desea aplicar una relación, (por ejemplo, Clientes y Pedidos).
En la fila Multiplicidad, especifique cómo desea que estas tablas se relacionen.
Vea Valores de multiplicidad.
En la fila Comportamiento al eliminar, especifique qué desea que haga la aplicación si un usuario intenta eliminar un registro de una tabla pero los datos siguen existiendo en el registro relacionado de la otra tabla (por ejemplo, si un usuario intenta eliminar un cliente pero los pedidos realizados por este todavía existen).
Vea Valores del comportamiento de eliminación.
En la fila Propiedad de navegación, escriba un nombre para cada propiedad de navegación y elija el botón Aceptar.
Las propiedades de navegación ayudan a los usuarios a navegar entre las áreas de una pantalla que muestran datos relacionados. Las propiedades de navegación también aparecen como objetos en IntelliSense y se pueden usar para construir expresiones LINQ en el código.
Para agregar una relación entre tablas en una base de datos adjunta
En el Explorador de soluciones, abra el menú contextual de una de las tablas que desea usar en la relación y, a continuación, elija Abrir.
Nota
Para las aplicaciones que se han actualizado a Visual Studio 2012 Update 2, en la barra Perspectiva, elija la pestaña Servidor.
En el Diseñador de datos, en la barra de comandos, elija el botón Relación.
Se abrirá el cuadro de diálogo Agregar nueva relación.
En la columna Hasta de la fila Nombre, elija la tabla a la que desea aplicar una relación.
La tabla debe contener una clave principal que se usará en el lado principal de la relación.
En la fila Multiplicidad, especifique cómo desea que estas tablas se relacionen.
Vea Valores de multiplicidad.
En la cuadrícula de datos que aparece cerca de la parte inferior del cuadro de diálogo Agregar nueva relación, elija una propiedad del lado externa de la relación.
Esta propiedad debe coincidir con el tipo de datos de la propiedad clave Principal.
Nota
Si la tabla contiene una clave principal compuesta, todos los tipos de datos de la clave externa deben coincidir.
Nota
Para una relación de cero o uno a varios, la propiedad de clave externa no puede ser un campo obligatorio.Para una relación uno a varios, la propiedad de clave externa debe ser un campo obligatorio.Para una relación cero o uno a uno, los valores de clave principal se deben usar en ambos lados de la relación.
Elija el botón Aceptar.
Agregar una relación entre tablas o entidades de distintos orígenes de datos
Puede usar el diseñador de datos de LightSwitch para agregar una relación entre tablas o entidades de distintos orígenes de datos. Por ejemplo, puede agregar una relación entre una tabla de la base de datos interna para LightSwitch y una entidad de una lista de SharePoint.
Para agregar una relación entre dos tablas o entidades de distintos orígenes de datos
En el Explorador de soluciones, abra el menú contextual de una de las tablas que desea usar en la relación y, a continuación, elija Abrir.
Nota
Para las aplicaciones que se han actualizado a Visual Studio 2012 Update 2, en la barra Perspectiva, elija la pestaña Servidor.
En el Diseñador de datos, en la barra de comandos, elija el botón Relación.
Se abrirá el cuadro de diálogo Agregar nueva relación.
En la fila Nombre, elija las tablas o entidades a las que desea aplicar una relación (por ejemplo, Clientes y Pedidos).
En la fila Multiplicidad, especifique cómo desea que se relacionen estas tablas o entidades.
Vea Valores de multiplicidad.
Nota
Observe que la fila Comportamiento al eliminar no está habilitada para este tipo de relación.
En la fila Propiedad de navegación, proporcione un nombre para cada una de las propiedades de navegación.
Las propiedades de navegación ayudan a los usuarios a navegar entre las áreas de una pantalla que muestran datos relacionados. Las propiedades de navegación también aparecen como objetos en IntelliSense y se pueden usar para construir expresiones LINQ en el código.
En la cuadrícula de datos que aparece cerca de la parte inferior del cuadro de diálogo Agregar nueva relación, elija una propiedad de una tabla o entidad y una propiedad relacionada en la otra tabla o entidad y, a continuación, elija el botón Aceptar.
Estas propiedades indican donde se vinculan las tablas o entidades. Por ejemplo, puede elegir la propiedad Id de una entidad Cliente y la propiedad CustomerID de una entidad Pedido.
Modificar una relación
Puede usar el diseñador de datos de LightSwitch para modificar o eliminar una relación.
Para modificar una relación existente
En el Explorador de soluciones, abra el menú contextual de una de las tablas que se está usando en la relación y, a continuación, elija Abrir.
Nota
Para las aplicaciones que se han actualizado a Visual Studio 2012 Update 2, en la barra Perspectiva, elija la pestaña Servidor.
En el Diseñador de datos, elija la propiedad de navegación que representa la relación con otra entidad o tabla.
Por ejemplo, una entidad Cliente puede tener una propiedad denominada Pedidos que se usa como propiedad de navegación en la relación Cliente-Pedidos.
En la ventana Propiedades, elija el vínculo Editar propiedades de relación.
Se abre el cuadro de diálogo Modificar relación.
Para modificar la relación, consulte la sección correspondiente más adelante en este tema:
Agregar una relación entre entidades del mismo origen de datos.
Agregar una relación entre entidades de distintos orígenes de datos.
Elija el botón Aceptar para cerrar el cuadro de diálogo Modificar relación.
Para eliminar una relación
En el Explorador de soluciones, abra el menú contextual de una de las tablas que se está usando en la relación y, a continuación, elija Abrir.
Nota
Para las aplicaciones que se han actualizado a Visual Studio 2012 Update 2, en la barra Perspectiva, elija la pestaña Servidor.
En el Diseñador de datos, abra el menú contextual de la línea de conexión que representa la relación con otra entidad o tabla y, a continuación, elija Eliminar 1 o más relaciones.
Valores de multiplicidad
En la tabla siguiente se describen las combinaciones de los valores de multiplicidad que se pueden elegir en LightSwitch.
Valor Desde |
Valor Hasta |
Descripción |
---|---|---|
One |
Ninguno o uno |
Un valor "Desde" puede tener una o ninguna instancia de "Hasta", pero un valor "Hasta" debe tener una instancia de "Desde". |
One |
Muchos |
Un valor "Desde" puede tener muchas instancias de "Hasta", pero un valor "Hasta" debe tener una instancia de "Desde". |
Ninguno o uno |
One |
Un valor "Desde" debe tener una instancia de "Hasta", pero un valor "Hasta" puede tener una o ninguna instancia de "Desde". |
Ninguno o uno |
Muchos |
Un valor "Desde" puede tener muchas instancias de "Hasta" y un valor "Hasta" puede tener una o ninguna instancia de "Desde". |
Muchos |
One |
Un valor "Desde" debe tener una instancia de "Hasta", pero un valor "Hasta" puede tener muchas instancias de "Desde". |
Muchos |
Ninguno o uno |
Un valor "Desde" puede tener una o ninguna instancia de "Hasta" y un valor "Hasta" puede tener muchas instancias de "Desde". |
Nota
No se puede especificar una relación uno a uno, cero o uno a cero o uno y varios a varios con el diseñador de datos de LightSwitch.
Valores del comportamiento de eliminación
En la tabla siguiente se describen las opciones que se pueden establecer para determinar lo que ocurre cuando un usuario intenta eliminar un registro que forma parte de una relación. Algunas opciones no están disponibles para ciertos tipos de relaciones.
Valor Comportamiento al eliminar |
Descripción |
---|---|
Eliminación en cascada |
Al eliminarse una "Tabla1", se eliminan todas las instancias de "Tabla2" relacionadas. |
Restringido |
La "Tabla1" no se puede eliminar si existen instancias de "Tabla2" relacionadas. Por ejemplo, elija Restringido para especificar que no se puede eliminar un cliente si la base de datos contiene pedidos relacionados. |
Desasociar |
Al eliminar la "Tabla1", establezca la referencia a "Tabla1" en las instancias de "Tabla2" relacionadas en null. |