2011-03-27 8 views
0

Je les entités suivantes et la question que j'ai est que j'ai un jeu de type qui hérite de MediaItem. J'ai passé une collection de jeu à une vue et je veux être en mesure d'afficher la classification des jeux (stockée dans LibraryItemRating) en tant que classement. Actuellement je ne peux pas faire cela, car quand j'arrive à Game.Libraryitems j'ai une collection ..ADO.Net EF, Cartographie Problème

Je veux que l'association de LibraryItems avec MediaItem soit 1 - * et non * - 1. La seule contrainte référentielle qui est sensible est Principal: MediaItem (MediaItemID) et Dependent: (MediaItem). Lorsque ce paramètre est réglé, je ne peux avoir le * - 1 relation, sinon je reçois ces deux erreurs:

Multiplicité est pas valable dans le rôle « LibraryItem » en relation « MediaItemLibraryItem ». Étant donné que les propriétés de rôle dépendant ne sont pas les propriétés de clé , la limite supérieure de la multiplicité du rôle dépendant doit être *.

et

Multiplicité est pas valable dans le rôle 'MediaItem' en relation 'MediaItemLibraryItem'. Les valeurs valides pour la multiplicité pour le rôle principal sont '0..1' ou '1'.

Toute aide serait appréciée! Voici une capture d'écran: enter image description here

Note: MediaItem (MediaItemID) cartes à LibraryItem (MediaItem)

Répondre

2

Vous ne pouvez pas avoir cette multiplicité avec votre configuration actuelle. Votre configuration actuelle dit: Un MediaItem peut être dans plusieurs LibraryItems. Cela signifie que MediaItem est le principal et LibraryItem dépend et de ce qu'elle a FK propriété MediaItem. Si vous voulez la relation inverse, la signification sera: Un LibraryItem peut avoir plusieurs MediaItems. Dans ce cas LibraryItem deviendra le principal et MediaItem volonté est devenue dépendante et à cause de cela, vous devez également modifier vos entités:

  • relation entre Supprimer LibraryItem et MediaItem. Il devrait également supprimer les propriétés de navigation des deux côtés.
  • Supprimer MediaItem propriété dans l'entité LibraryItem.
  • Ajouter LibraryItem propriété FK à MediaItem entité
  • Créer une nouvelle association entre LibraryItem et MediaItem et plan des contraintes référentielles pour répondre à vos besoins.