2010-09-21 21 views
3

Je crée un service OData et utilise un EDM pour mapper la structure de ma base de données et spécifier les associations entre les tables et créer des propriétés de navigation.Problèmes avec les associations EDM

J'ai importé mes tables dans l'EDM à l'aide de l'assistant. Les choses se compilent bien jusqu'à ce que je mette en associations. Je suis sûr que j'ai été capable de le faire avant, mais pour une raison quelconque, c'est foireux.

J'ai une table Attribut

AttributeId  int PK 
AttributeName varchar(100) 

et

AttributeItem 
AttributeItemId  int PK 
AttributeID   int 
AttrributeItemValue varchar(100) 

Je veux créer un lien AttributeId entre les deux tables avec un 0..1 * à la relation (de Attribute à AttributeItem).

Je suis constamment confronté à des problèmes. d'abord cette erreur:

Error 3027: No mapping specified for the following EntitySet/AssociationSet - AttibuteAttributeItem

Puis, une fois que je l'ai bidouillé avec les détails de la cartographie de l'association que je reçois cette erreur:

Error 3024: Problem in mapping fragments starting at line 91: Must specify mapping for all key properties (AttributeItemId, AttributeId) of End AttributeItem in Relationship AttributeAttributeItem.

Je ne sais pas pourquoi il fait cela.

Une idée de ce qui me manque?

grâce,

B

Répondre

1

double-cliquez sur le lien Assotiation et mettre en place référentielle contrainte. Ça ne devrait pas être vide. Utilisez "Générer la base de données" après cela pour mettre à jour les internes du modèle EDM. Pensez également à faire un clic droit sur le fichier edmx dans la solution exprorer et sélectionnez "Ouvrir avec ..." et ouvrez-le avec l'éditeur XML pour voir à la ligne d'erreur (91).