Comment : définir les relations de données dans LightSwitch

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Vous pouvez créer, modifier ou supprimer des relations entre les données à l'aide du concepteur de données dans LightSwitch. En utilisant les relations, vous pouvez 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 :

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

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 aussi utiliser le concepteur de données pour ajouter une relation entre des entités de la même source de données externe. 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, ouvrez le menu contextuel de l'une des tables à utiliser dans la relation, puis choisissez Ouvrir.

    System_CAPS_ICON_note.jpg Remarque

    Pour les applications qui ont été mises à niveau vers Visual Studio 2012 Update 2, dans la barre Perspective, choisissez l'onglet Serveur.

  2. Dans Concepteur de données, dans la barre de commandes, choisissez le bouton Relation.

  3. Dans la boîte de dialogue Ajouter une nouvelle relation, sur la ligne Nom, choisissez 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.

    Consultez Paramètres de multiplicité.

  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).

    Consultez Paramètres du comportement de suppression.

  6. Sur la ligne Propriété de navigation, entrez un nom pour chaque propriété de navigation, puis choisissez le bouton OK.

    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 les utiliser pour construire des expressions LINQ en code.

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

  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel de l'une des tables à utiliser dans la relation, puis choisissez Ouvrir.

    System_CAPS_ICON_note.jpg Remarque

    Pour les applications qui ont été mises à niveau vers Visual Studio 2012 Update 2, dans la barre Perspective, choisissez l'onglet Serveur.

  2. Dans Concepteur de données, dans la barre de commandes, choisissez le bouton Relation.

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

  3. Dans la colonne Vers de la ligne Nom, choisissez 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.

    Consultez Paramètres de multiplicité.

  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.

    System_CAPS_ICON_note.jpg Remarque

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

    System_CAPS_ICON_note.jpg Remarque

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

  6. Cliquez sur le bouton OK.

Vous pouvez utiliser le concepteur de données LightSwitch pour ajouter une relation entre des tableaux ou des entités de sources de données distinctes. Par exemple, vous pouvez ajouter une relation entre un tableau 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 issues de sources de données distinctes

  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel de l'une des tables à utiliser dans la relation, puis choisissez Ouvrir.

    System_CAPS_ICON_note.jpg Remarque

    Pour les applications qui ont été mises à niveau vers Visual Studio 2012 Update 2, dans la barre Perspective, choisissez l'onglet Serveur.

  2. Dans Concepteur de données, dans la barre de commandes, choisissez le bouton Relation.

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

  3. Sur la ligne Nom, sélectionnez les tables ou les entités pour lesquelles vous souhaitez 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.

    Consultez Paramètres de multiplicité.

    System_CAPS_ICON_note.jpg 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 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 les utiliser pour construire des expressions LINQ en code.

  6. Dans la grille de données qui s'affiche près du bas de la boîte de dialogue Ajouter une nouvelle relation, choisissez une propriété d'une table ou d'une entité et une propriété connexe dans l'autre table ou l'autre entité, puis choisissez le bouton OK.

    Ces propriétés se trouvent où les tables ou entités sont liées. Par exemple, vous pouvez sélectionner la propriété Id d'une entité Customer et la propriété CustomerID d'une entité Order.

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

Pour modifier une relation existante

  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel de l'une des tables que vous utilisez dans la relation, puis choisissez Ouvrir.

    System_CAPS_ICON_note.jpg Remarque

    Pour les applications qui ont été mises à niveau vers Visual Studio 2012 Update 2, dans la barre Perspective, choisissez l'onglet Serveur.

  2. Dans le Concepteur de données, choisissez 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é qui est nommée Orders et utilisée comme propriété de navigation dans la relation Customer-Orders.

  3. Dans la fenêtre Propriétés, choisissez le lien 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 la suite de cette rubrique :

  4. Cliquez sur le bouton OK pour fermer la boîte de dialogue Modifier la relation.

Pour supprimer une relation

  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel de l'une des tables que vous utilisez dans la relation, puis choisissez Ouvrir.

    System_CAPS_ICON_note.jpg Remarque

    Pour les applications qui ont été mises à niveau vers Visual Studio 2012 Update 2, dans la barre Perspective, choisissez l'onglet Serveur.

  2. Dans Concepteur de données, ouvrez le menu contextuel de la ligne de connexion qui représente la relation avec une entité ou une autre table, puis choisissez Supprimer les relations.

Le tableau suivant décrit les combinaisons de paramètres de multiplicité que vous pouvez choisir dans LightSwitch.

Valeur DeValeur ToDescription
OneZéro ou unUne instance « De » peut avoir une ou aucune instance « Vers », mais une instance « Vers » doit avoir une instance « De ».
OnePlusieursUne instance « De » peut avoir plusieurs instances « Vers », mais une instance « Vers » doit avoir une instance « De ».
Zéro ou unOneUne instance « De » doit avoir une instance « Vers », mais une instance « Vers » peut avoir une ou aucune instance « De ».
Zéro ou unPlusieursUne instance « De » peut avoir plusieurs instances « Vers », et une instance « Vers » peut avoir une ou aucune instance « De ».
PlusieursOneUne instance « De » doit avoir une instance « Vers », mais une instance « Vers » peut avoir plusieurs instances « De ».
PlusieursZéro ou unUne instance « De » peut avoir une ou aucune instance « Vers », et une instance « Vers » peut avoir plusieurs instances « De ».
System_CAPS_ICON_note.jpg Remarque

Vous ne pouvez pas spécifier une relation un-à-un, zéro ou un-à-zéro ou un, et plusieurs-à-plusieurs en utilisant le concepteur de données dans LightSwitch.

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 ne sont pas disponibles pour certains types de relations.

Valeur Comportement à la suppressionDescription
Suppression en cascadeLorsque « Table1 » est supprimé, supprimez toutes les instances « Table2 » connexes.
Restricted« Table1 » ne peut pas être supprimé s'il existe des instances « Table2 » associées.

Par exemple, sélectionnez Restreint pour spécifier qu'un client ne peut pas être supprimé si la base de données contient des commandes connexes.
DissocierLorsque « Table1 » est supprimé, définissez la référence à « Table1 » sur les instances « Table2 » connexes sur null.

Données : les informations de votre application

Afficher: