2011-01-11 3 views
0

Vous essayez de modifier deux relations dans notre structure d'entité de relations plusieurs-à-un à plusieurs-à-plusieurs. J'ai donc essayé la chose évidente: cliqué sur chaque association sur le diagramme, changé l'extrémité appropriée de l'association en conséquence, puis changé le nom de la propriété de navigation à un pluriel pour refléter le changement.Corriger le mappage d'association dans Entity Framework

Cela a conduit à l'erreur de génération suivante, ou un chacun pour les deux changements que j'ai fait:

Erreur 3002: problème de cartographie fragments à partir de la ligne 1761: violation potentielle d'exécution de tableau les clés de CustomerServices (CustomerServices.Id): Colonnes (CustomerServices.Id) sont mis en correspondance EntitySet propriétés de CompiledDatabaseCustomerService (CompiledDatabaseCustomerService.CustomerService.Id) sur le plan conceptuel, mais ils ne le font pas forme les propriétés clés de EntitySet (CompiledDatabaseCustomerService.CompiledDatabase.Id, CompiledDatabaseCustomerService.CustomerService.Id)

Je ne suis pas tout à fait sûr pourquoi cela se passe, si je unsurprisngly n'ai pas eu beaucoup de chance pour le réparer. J'ai essayé de jouer avec les détails de mappage et d'ajouter des contraintes référentielles en vain. Quelqu'un me pointe dans la bonne direction?

applaudissements, Matt

Répondre

0

OK, il s'avère que tout ce qui est nécessaire est de mettre à jour la base de données à partir du modèle. Idiot moi - Je pensais que seulement régénéré les scripts SQL pour créer la base de données.

+0

Ah. Haha ... Je n'avais même pas pensé à ça, mais, oui. Peu importe la façon dont vous allez (soit mettre à jour la base de données en premier, soit mettre à jour le modèle en premier), vous devez mettre à jour l'autre. Logique! (Et un bon rappel pour quiconque pourrait rencontrer ce problème à l'avenir.) – JasCav

0

L'une des premières choses à vérifier quand vous obtenez cette erreur est de regarder et assurez-vous que les colonnes de clé dans votre schéma de base de données correspondent à vos définitions d'entité. J'ai rencontré un problème similaire lorsque je faisais une mise à jour.

Si cela ne vous semble pas être votre problème, vérifiez également que vous n'avez pas retourné les colonnes par rapport à votre mappage - assurez-vous que tout est mappé dans la bonne direction. (Je vous recommande de regarder vos mappages directement pour voir si c'est ce qui se passe.)

+0

Merci de votre visite. Je n'ai pas réellement touché les mappages de touches, ce qui semble une source improbable pour le problème: tout ce que j'ai fait est changé une extrémité d'une association existante. Quand vous dites de regarder les mappages directement, voulez-vous vérifier le fichier Designer.cs? –

+0

@Matt - Jetez un coup d'œil à la Table Mapping en cliquant avec le bouton droit de la souris sur une table dans votre diagramme d'entités et en sélectionnant "Table Mapping". Regardez sous les mappages de colonnes et assurez-vous qu'ils sont correctement mappés. (BTW, je ne suis pas positif mes suggestions vous aideront (j'espère qu'ils le font), mais ce sont deux domaines que j'ai vu des problèmes comme celui-ci.) – JasCav

Questions connexes