2010-05-18 6 views
0

J'ai deux tables parent et enfant.Le diagramme d'entités avec des tables qui ont des clés étrangères pointant vers une colonne non-PK ne montre pas les relations dans le diagramme

Si je crée une clé étrangère sur un enfant qui pointe vers la clé primaire de parent, puis que vous créez un diagramme d'entités, la relation s'affiche correctement.

Si la clé étrangère pointe vers une colonne différente, la relation n'est pas affichée.

J'ai essayé d'ajouter des index à la colonne, mais cela n'a aucun effet.

La base de données est sqlite, mais je ne sais pas si cela a un effet puisque tout est caché derrière ADO.net.

Comment faire pour que la relation fonctionne correctement?

Ceci utilise Visual Studio 2010 dans le diagramme Entity Framework (.edmx), en générant automatiquement le diagramme à partir de la base de données.

+2

Si vous utilisez un stylo, il se peut qu'il ne soit plus encré. Sinon, vous pourriez vouloir indiquer quelle application crée votre diagramme. –

+0

a mis à jour mon message. –

Répondre

1

Une clé étrangère doit référencer une clé candidate dans la table parente. La colonne (s) que vous pointez sur le diagramme doit donc être une clé candidate. Cela ne doit pas nécessairement être la clé "primaire", mais il doit s'agir d'un ensemble de colonnes qui est garanti unique par la présence d'une contrainte d'unicité (généralement une contrainte UNIQUE ou PRIMARY KEY).