Question

J'ai deux tables, Reports et Visualizations. Reports a un champ, VisualizationID, qui pointe vers le champ de Visualization du même nom par une clé étrangère. Il a également une clé unique déclarée sur le terrain. VisualizationID n'est pas annulable. Cela signifie que la relation doit être 0..1 à 1, parce que tous record Reports doit avoir un dossier de Visualizations unique, non nul associé.

Le Entity Framework ne le voit pas de cette façon. Je reçois l'erreur suivante:

Error 113: Multiplicity is not valid in Role 'Report' in relationship 'FK_Reports_Visualizations'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be *.

Quel est le problème ici? Comment puis-je faire l'EF reconnaître la multiplicité de relation appropriée?

Était-ce utile?

La solution

L'EF se plaint car il semble que vous utilisez un FK Association - ce qui signifie que le VisualizationID est une propriété de l'entité et il est une référence de visualisation trop -. Et vous ne pouvez pas le faire avec FK associations

Si toutefois vous utilisez des associations indépendantes - ce qui signifie qu'il n'y a pas de propriété VisualizationID -. Vous peut réduire la cardinalité

Donc, la solution est de supprimer la propriété VisualizationID de l'entité, à quel point vous devez aller de l'avant une carte l'association.

Hope this helps

Alex

Autres conseils

Je viens de tombé sur le même problème - Alex, votre explication est correcte dans mon cas, mais bien sûr, en supprimant la colonne FK du modèle conceptuel, je n'ai plus la possibilité de passer plus tard mon objet associé en changeant la valeur du champ FK ... Je vais devoir revenir aux vieux trucs à faire!

Y at-il des plans pour nous permettre d'avoir notre part du gâteau et le manger aussi avec 1 à 0..1 relations, à savoir être en mesure d'avoir le champ FK ainsi?

Greg

(p.s. Je l'ai commenté, mais mon représentant n'est pas encore assez haut!)

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