Question

J'ai donc créé un dbml dans mon projet, qui comporte trois tableaux: Elements, ElementImages et Images. Chaque enregistrement Element peut avoir plusieurs enregistrements ElementImage et chacun de ces enregistrements ElementImage doit avoir un enregistrement Image. Les clés primaires et étrangères sont toutes configurées correctement et les associations sont également définies correctement. Alors, pourquoi ne vois-je pas les collections pour chacun des objets? Je m'attendrais à ce que Element ait la collection ElementImages et ElementImage une propriété Image, mais rien de tout cela n'apparaît dans mon Intellisense. J'ai supprimé et recréé le dbml plusieurs fois, même en vain sur d'autres tables.

Était-ce utile?

La solution

Je n'ai jamais rencontré ce problème lors du glissement depuis le panneau Explorateur de serveurs.

Nous utilisons bigint comme PK / FK, je ne peux donc pas dire si Guids est ce qui vous pose problème. Vous pouvez essayer un test en suivant les mêmes étapes en utilisant bigint / long que vos PK pour voir si cela fonctionne pour vous.

Je n’ai jamais expérimenté cela lorsque je pensais que j’avais configuré les clés étrangères sur la table de base de données, mais que j’avais oublié. Dans l'Explorateur de serveurs, il est difficile de savoir d'un coup d'œil. S'ils sont correctement configurés, vous devriez voir des flèches entre vos tableaux sur l'aire de conception. Si vous ne voyez pas immédiatement les flèches, je soupçonne que vos FK ne sont pas configurés correctement.

À l'aide du panneau des propriétés, vous pouvez modifier la visibilité des propriétés de l'association. En cliquant sur les flèches elles-mêmes, vous pouvez modifier les propriétés parent / enfant avec le panneau Propriétés. Je désactive généralement la propriété enfant, mais vous pouvez uniquement limiter la visibilité de la propriété parent à interne. Je suggère de les vérifier pour vous assurer qu'il n'est pas désactivé ou que sa visibilité est définie sur une valeur inférieure à celle que vous attendez.

Autres conseils

Quels sont les types de champs pour les champs de votre base de données? Certains ne sont pas pris en charge par L2S. Est-ce qu'ils apparaissent dans les tableaux lorsque vous vous laissez tomber sur la surface dbml?

Une clé primaire manquante sur la table parent ou la table enfant provoquera ce problème.

Si la clé primaire existe dans la base de données mais qu'un champ n'est pas marqué dans le concepteur comme étant une clé primaire, cliquez dessus avec le bouton droit de la souris, sélectionnez Propriétés et assurez-vous que "Clé primaire" est activé. est défini sur true. Au moins un champ de la table doit être marqué avant que le créateur crée les associations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top