Cómo: Definir relaciones de datos
Puede crear, modificar o eliminar relaciones entre datos con el diseñador de datos en LightSwitch.Las relaciones le ayudan a crear pantallas en las que los datos relacionados trabajan juntos, por ejemplo, una pantalla que muestra 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 de comportamiento de eliminación
Para ver una demostración en vídeo relacionada con este tema, consulte How Do I: Define My Data in a LightSwitch Application?.
Agregar una relación entre tablas o entidades de la misma fuente de datos
Se puede utilizar el diseñador de datos de LightSwitch para crear una relación entre dos tablas en la base de datos interna LightSwitch.En algunos casos, se puede utilizar el diseñador de datos para agregar una relación entre las entidades de la misma fuente de datos externa, sujeto a ciertas restricciones.En caso conrario, debe crear esas 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 una fuente de datos, consulte Cómo: Conectarse a datos.
Cómo agregar una relación entre tablas en la base de datos interna
En el Explorador de soluciones, haga doble clic en una de las entidades o tablas que desea utilizar en la relación.
En el Diseñador de datos, en la barra de comandos, haga clic en Relación.
En el cuadro de diálogo Agregar nueva relación, en la fila Nombre, seleccione las dos tablas a las que desea aplicar una relación, por ejemplo, Clientes y Pedidos.
En la fila Multiplicidad, especifique cómo desea relacionar estas tablas.Para obtener más información acerca de la multiplicidad y los tipos de relaciones, consulte Valores de multiplicidad.
En la fila Comportamiento al eliminar, especifique lo que desea que haga la aplicación si un usuario intenta eliminar un registro de una tabla aunque los datos todavía existan en el registro relacionado de otra tabla; por ejemplo, si un usuario intenta eliminar un cliente pero los pedidos realizados por el cliente todavía existen.Para obtener más información, vea Valores de comportamiento de eliminación.
En la fila Propiedad de navegación, proporcione un nombre para cada propiedad 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 utilizar estos objetos para construir expresiones LINQ en código.
Haga clic en Aceptar.
Cómo agregar una relación entre las tablas de una base de datos adjunta
En el Explorador de soluciones, haga doble clic en una de las entidades o tablas que desea utilizar en la relación.
En el Diseñador de datos, en la barra de comandos, haga clic en Relación.
Se abrirá el cuadro de diálogo Agregar nueva relación.
En la columna de Para de la fila de Nombre , elija la tabla a la que desea aplicar una relación.
La tabla debe contener una clave principal que se utilizará en el lado principal de la relación.
En la fila Multiplicidad, especifique cómo desea que se relacionen estas tablas.
Para obtener más información, vea Valores de multiplicidad.
En la cuadrícula de datos que aparece cerca de la parte inferior del cuadro de diálogo de Agregar nueva relación, elija una propiedad del lado Externo de la relación.
Esta propiedad debe coincidir con el tipo de datos de la propiedad de clave de 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 cero o uno a varios, la propiedad de clave de Externo no puede ser un campo obligatorio.Para una relación uno a varios, la propiedad de clave de Externo debe ser un campo obligatorio.Para una relación cero o uno a uno , los valores de clave principal se deben utilizar a ambos lados de la relación.
Elija el botón Aceptar.
Agregar una relación entre tablas o entidades de distintas fuentes de datos
Se puede utilizar el diseñador de datos de LightSwitch para crear relaciones entre tablas o entidades a partir de distintas fuentes de datos.Por ejemplo, puede agregar una relación entre una tabla en la base de datos interna LightSwitch y una entidad de una lista de SharePoint.
Cómo agregar una relación entre dos tablas o entidades de distintos orígenes de datos
En el Explorador de soluciones, haga doble clic en una de las entidades o tablas que desea utilizar en la relación.
En el Diseñador de datos, en la barra de comandos, haga clic en Relación.
En el cuadro de diálogoAgregar nueva relación, en la fila Nombre, seleccione 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 relacionar estas tablas o entidades.Para obtener más información acerca de la multiplicidad y los tipos de relaciones, consulte 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 propiedad 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 utilizar estos objetos para construir expresiones LINQ en código.
En la cuadrícula de datos que aparece cerca de la parte inferior del cuadro de diálogo Agregar nueva relación, seleccione una propiedad de una tabla o entidad y una propiedad relacionada en la otra tabla o entidad.Estas propiedades se encuentran donde se vinculan las tablas o entidades.Por ejemplo, seleccione la propiedad Id de una entidad Cliente y la propiedad IdCliente de una entidad Pedido.
Haga clic en Aceptar.
Modificación de una relación
Se puede utilizar el diseñador de datos de LightSwitch para modificar o eliminar una relación.
Cómo modificar una relación existente
En el Explorador de soluciones, haga doble clic en una de las entidades o tablas que utiliza en la relación.
En el Diseñador de datos, seleccione la propiedad de navegación que representa la relación con otra entidad o tabla.Por ejemplo, una entidad Cliente puede tener una propiedad con nombre Pedidos que se utiliza como una propiedad de navegación en la relación de Cliente-Pedidos.
En la ventana Propiedades, haga clic en Editar propiedades de relación.
Se abre el cuadro de diálogo Modificar relación.
Para modificar la relación, consulte la sección adecuada en este documento:
Agregar una relación entre entidades de la misma fuente de datos.
Agregar una relación entre entidades de distintas fuentes de datos.
Haga clic en Aceptar.
Para eliminar una relación
En el Explorador de soluciones, haga doble clic en una de las entidades o tablas que utiliza en la relación.
En el Diseñador de datos, haga clic con el botón secundario en la propiedad de navegación que representa la relación con otra entidad o tabla y, a continuación, haga clic en Eliminar.
Valores de multiplicidad
En la siguiente tabla se describen las combinaciones de valores de multiplicidad que están disponibles en LightSwitch.
Valor De |
Valor Para |
Descripción |
---|---|---|
One |
Ninguno o uno |
«De» puede tener uno o ningún «Para», pero un «Para» debe tener un «De». |
One |
Muchos |
«De» puede tener muchas instancias «Para», pero una «Para» debe tener una «De». |
Ninguno o uno |
One |
«De» debe tener un «Para», pero un «Para» puede tener uno o ningún «De». |
Ninguno o uno |
Muchos |
«De» puede tener muchas instancias «Para» y un «Para» puede tener una o ninguna «De». |
Muchos |
One |
«De» debe tener un «Para», pero un «Para» puede tener muchas instancias «De». |
Muchos |
Ninguno o uno |
«De» puede tener uno o ningún «Para» y un «Para» puede tener muchas instancias «De». |
[!NOTA]
No 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 de comportamiento de eliminación
En la siguiente tabla se describen las opciones que se pueden establecer para decidir lo que ocurre cuando un usuario intenta eliminar un registro que forma parte de una relación.Algunas opciones pueden no estar disponibles para ciertos tipos de relaciones.
Valor Comportamiento al eliminar |
Descripción |
---|---|
Eliminación en cascada |
Cuando se elimina «Table1», se eliminan todas las instancias «Table2» relacionadas. |
Restricted |
No se puede eliminar «Table1» si hay instancias relacionadas de «Table2». Por ejemplo, seleccione Restringido para especificar que no se puede eliminar un cliente si hay pedidos relacionados en la base de datos. |
Desasociar |
Cuando se elimina «Table1», se establece la referencia a «Table1» en instancias «Table2» relacionadas a null. |