2010-07-07 11 views
1

J'ai deux liste de points de partage.Clé étrangère composite dans la liste Sharepoint

Liste1 - Il contient tous les utilisateurs et a la clé primaire UserId List2 - Il contient tous les cours et a la clé primaire comme courseid

Maintenant, je veux définir la troisième liste qui aurait sa clé primaire clé composite. Liste3 - Ceci contient la cartographie des utilisateurs vers les cours. La clé primaire est donc la combinaison (UserId, CourseId).

Lorsque je définis List3, j'ajoute des colonnes à partir de la page Paramètres de la liste. Lorsque je crée une nouvelle colonne, je peux choisir Recherche et choisir la clé étrangère dans une autre liste. Mais je suis incapable de définir une clé composite. (où les clés proviennent d'une liste différente).

Existe-t-il un moyen de définir une clé composite pour une liste dans SharePoint 2010?

Merci

Répondre

4

Sharepoint ne une base de données et les listes ne sont pas des tables. Il n'y a pas de clés ou relations primaires, étrangères (au sens DB) dans Sharepoint. Alors que la métaphore DB est utilisée pour expliquer Sharepoint, elle n'est qu'une métaphore, pas celle de Sharepoint. La chose la plus proche de Sharepoint que vous pouvez trouver dans le monde des bases de données sont les bases de données de documents. Peut-être que vous confondez les champs de recherche avec les clés primaires. Un champ de recherche est un champ dont les valeurs proviennent d'une autre liste. Ils ne définissent pas de relation entre les listes. Cela dit, Sharepoint 2010 vous permet d'appliquer des contraintes de suppression de sorte que vous ne puissiez pas supprimer un élément de liste utilisé comme valeur de recherche dans une autre liste. Ceci est défini au niveau du champ de recherche et uniquement si le champ de recherche autorise un seul choix.

Pour définir la restriction par programme, utilisez la propriété SPFieldLookup.RelationshipDeleteBehavior. Pour définir la restriction à partir de l'interface utilisateur, recherchez le champ de recherche dans les paramètres de la liste cible, ouvrez ses paramètres et activez "Enforce Relationship Behavior" dans la section Relations.

Questions connexes