Partager via


Comment : Définir les relations de données

Vous pouvez créer, modifier ou supprimer des relations entre les données à l'aide du concepteur de données dans LightSwitch.Les relations vous aident à créer des écrans dans lesquels les données liées fonctionnent ensemble, par exemple, un écran qui affiche à la fois les clients et leurs commandes.

Ce document contient les sections suivantes :

  • Ajouter une relation entre des tables ou des entités de la même source de données

  • Ajouter une relation entre des tables ou des entités de sources de données distinctes

  • Modifier une relation

  • Paramètres de multiplicité

  • Paramètres du comportement de suppression

lien vers la vidéo Pour une démonstration vidéo connexe, consultez Comment définir mes données dans une application LightSwitch ?.

Ajouter une relation entre des tables ou des entités de la même source de données

Vous pouvez utiliser le concepteur de données LightSwitch pour ajouter une relation entre deux tables dans la base de données interne LightSwitch.Dans certains cas, vous pouvez également utiliser le concepteur de données pour ajouter une relation entre des entités de la même source de données externe, soumis à certaines contraintes.Sinon, vous devez créer ces relations sur le serveur, puis actualiser la connexion des données dans LightSwitch.Pour plus d'informations sur l'actualisation d'une connexion à une source de données, consultez Comment : Se connecter aux données.

Pour ajouter une relation entre des tables dans la base de données interne LightSwitch

  1. Dans l'explorateur de solutions, double-cliquez sur l'une des tables que vous voulez utiliser dans la relation.

  2. Dans le Concepteur de données, sur la barre de commandes, cliquez sur Relation.

  3. Dans la boîte de dialogue Ajouter une nouvelle relation, sur la ligne Nom, sélectionnez les deux tables auxquelles vous voulez appliquer une relation, par exemple, Customers et Orders.

  4. Sur la ligne Multiplicité, spécifiez comment vous souhaitez que ces tables soient mises en relation.Pour plus d'informations sur la multiplicité et les types de relations, consultez Multiplicity Settings.

  5. Sur la ligne Comportement à la suppression, spécifiez le comportement de votre application lorsqu'un utilisateur tente de supprimer un enregistrement dans une table alors qu'il existe encore des données dans l'enregistrement connexe de l'autre table, par exemple, si un utilisateur tente de supprimer un client, mais qu'il existe encore des commandes passées par ce client.Pour plus d'informations, consultez Delete Behavior Settings.

  6. Sur la ligne Propriété de navigation, fournissez un nom pour chaque propriété de navigation.Les propriétés de navigation aident les utilisateurs à naviguer entre les zones d'un écran affichant des données connexes.Les propriétés de navigation apparaissent également comme objets dans IntelliSense, et vous pouvez utiliser ces objets pour construire des expressions LINQ encode.

  7. Cliquez sur OK.

Pour ajouter une relation entre tables dans une base de données liée

  1. Dans l'explorateur de solutions, double-cliquez sur l'une des tables que vous voulez utiliser dans la relation.

  2. Dans le Concepteur de données, sur la barre de commandes, cliquez sur Relation.

    La boîte de dialogue Ajouter une nouvelle relation s'ouvre.

  3. Dans la colonne Vers de la ligne Nom, sélectionnez la table à laquelle vous souhaitez appliquer une relation.

    La table doit contenir une clé primaire, qui sera utilisée du côté primaire de la relation.

  4. Sur la ligne Multiplicité, spécifiez comment vous souhaitez que ces tables soient mises en relation.

    Pour plus d'informations, consultez Multiplicity Settings.

  5. Dans la grille de données qui apparaît près du bas de la boîte de dialogue Ajouter une nouvelle relation , choisissez une propriété du côté Étrangère de la relation.

    Cette propriété doit correspondre au type de données de la propriété de la clé Primaire.

    [!REMARQUE]

    Si la table contient une clé primaire composite, tous les types de données de la clé étrangère doivent correspondre.

    [!REMARQUE]

    Pour une relation zéro ou one-to-many, la propriété de la clé Étrangère ne peut être un champ obligatoire.Pour une relation one-to-many, la propriété de la clé Étrangère doit être un champ obligatoire.Pour une relation zéro ou one-to-many, les valeurs de la clé primaire doivent être utilisées des deux côtés de la relation.

  6. Cliquez sur le bouton OK.

Ajouter une relation entre des tables ou des entités de sources de données distinctes

Vous pouvez utiliser le concepteur de données LightSwitch pour ajouter une relation entre des tables ou des entités de sources de données distinctes.Par exemple, vous pouvez ajouter une relation entre une table de la base de données interne LightSwitch et une entité d'une liste SharePoint.

Pour ajouter une relation entre deux tables ou entités de sources de données distinctes

  1. Dans l'explorateur de solutions, double-cliquez sur l'une des tables ou entités que vous voulez utiliser dans la relation.

  2. Dans le Concepteur de données, sur la barre de commandes, cliquez sur Relation.

  3. Dans la boîte de dialogue Ajouter une nouvelle relation, sur la ligne Nom, sélectionnez les tables ou entités auxquelles vous voulez appliquer une relation, par exemple, Customers et Orders.

  4. Sur la ligne Multiplicité, spécifiez comment vous souhaitez que ces tables ou entités soient mises en relation.Pour plus d'informations sur la multiplicité et les types de relations, consultez Multiplicity Settings.

    [!REMARQUE]

    Notez que la ligne Comportement à la suppression n'est pas activée pour ce type de relation.

  5. Sur la ligne Propriété de navigation, fournissez un nom pour chaque propriété de navigation.Les propriétés de navigation aident des utilisateurs à naviguer entre les zones d'un écran affichant des données connexes.Les propriétés de navigation apparaissent également comme objets dans IntelliSense, et vous pouvez utiliser ces objets pour construire des expressions LINQ en code.

  6. Dans la grille de données qui s'affiche près du bas la boîte de dialogue Ajouter une nouvelle relation, sélectionnez une propriété d'une table ou entité et une propriété connexe dans l'autre table ou entité.Ces propriétés sont les emplacements où les tables ou entités sont liées.Par exemple, sélectionnez la propriété Id d'une entité Customer et la propriété CustomerID d'une entité Order.

  7. Cliquez sur OK.

Modifier une relation

Vous pouvez utiliser le concepteur de données LightSwitch pour modifier ou supprimer une relation.

Pour modifier une relation existante

  1. Dans l'explorateur de solutions, double-cliquez sur l'une des entités ou tables que vous utilisez dans la relation.

  2. Dans le Concepteur de données, sélectionnez la propriété de navigation qui représente la relation avec une autre entité ou table.Par exemple, une entité Customer peut avoir une propriété nommée Orders utilisée comme propriété de navigation dans la relation Customer-Orders.

  3. Dans la fenêtre Propriétés, cliquez sur Modifier les propriétés de la relation.

    La boîte de dialogue Modifier la relation s'affiche.

    Pour modifier la relation, consultez la section appropriée dans ce document:

    • Ajouter une relation entre des entités de la même source de données.

    • Ajouter une relation entre des entités de sources de données distinctes.

  4. Cliquez sur OK.

Pour supprimer une relation

  1. Dans l'explorateur de solutions, double-cliquez sur l'une des entités ou tables que vous utilisez dans la relation.

  2. Dans le Concepteur de données, cliquez avec le bouton droit sur la propriété de navigation qui représente la relation avec une autre entité ou table, puis cliquez sur Supprimer.

Paramètres de multiplicité

Le tableau suivant décrit les combinaisons des paramètres de multiplicité disponibles dans LightSwitch.

Valeur De

Valeur Vers

Description

One

Zéro ou un

Une instance « De » peut avoir une ou aucune instance « Vers », mais une instance « Vers » doit avoir une instance « De ».

One

Plusieurs

Une instance « De » peut avoir plusieurs instances « Vers », mais une instance « Vers » doit avoir une instance « De ».

Zéro ou un

One

Une instance « De » doit avoir une instance « Vers », mais une instance « Vers » doit avoir une ou aucune instance « De ».

Zéro ou un

Plusieurs

Une instance « De » peut avoir plusieurs instances « Vers », et une instance « Vers » peut avoir une ou aucune instance « De ».

Plusieurs

One

Une instance « De » peut avoir une instance « Vers », mais une instance « Vers » peut avoir plusieurs instances « De ».

Plusieurs

Zéro ou un

Une instance « De » peut avoir une ou aucune instance « Vers », et une instance « Vers » peut avoir plusieurs instances « De ».

[!REMARQUE]

Vous ne pouvez pas spécifier une relation one-to-one, zéro ou one-to-zero ou un, et many-to-many en utilisant le concepteur de données LightSwitch.

Paramètres du comportement de suppression

Le tableau suivant décrit les options que vous pouvez configurer pour définir ce qui se passe lorsqu'un utilisateur tente de supprimer un enregistrement qui fait partie d'une relation.Certaines options peuvent ne pas être disponibles pour certains types de relations.

Valeur Comportement à la suppression

Description

Suppression en cascade

Lorsque « Table1 » est supprimé, supprimer toutes les instances « Table2 » connexes.

Restricted

Impossible de supprimer « Table1 » s'il existe des instances « Table2 » connexes.

Par exemple, sélectionnez Restreint pour spécifier qu'un client ne peut pas être supprimé s'il est lié à des commandes dans la base de données.

Dissocier

Lorsque « Table1 » est supprimé, affectez à la référence à « Table1 » sur les instances « Table2 » connexes la valeur null.

Voir aussi

Autres ressources

Données : les informations de votre application