Obtenir l'erreur 3007 lorsque j'ajoute mon modèle d'entité

entity-framework entity-relationship

Question

Je reçois une erreur 3007 lorsque j'ajoute mon modèle d'entité à ma solution.

J'ai trouvé ces liens:

Bonne explination

Réponse courte

À propos de cette erreur:

Erreur 1 Erreur 3007: Problème de mappage des fragments commençant aux lignes 89, 94: La ou les colonnes de clé non principale [ID_personne] sont mappées dans les deux fragments vers des propriétés latérales conceptuelles différentes - une incohérence des données est possible car les propriétés latérales conceptuelles correspondantes peut être modifié indépendamment.

Leur réponse: je souscris à leur conclusion selon laquelle, en supprimant simplement la propriété scalaire Person_ID et en laissant la propriété de navigation, mon problème est résolu. Cependant, cela n’est pas très évolutif car je construis dynamiquement ma base de données et mon entité est mise à jour très souvent. Je ne veux pas avoir à nettoyer et à nettoyer mon entité chaque fois que je le mets à jour.

Ma question: Existe - t-il un moyen de corriger l'erreur en corrigeant la manière dont EF construit l'entité? Ou est-il possible de supprimer la propriété Scalar par le code? Peut-être y a-t-il même quelques options que je néglige.

Réponse acceptée

Mon expérience avec EF v1 est similaire à la vôtre. Lorsque l'EDM n'est pas généré correctement et que vous ne pouvez pas contourner le problème, vous devez l'éditer manuellement. EF v.Next (Je pense que Entity Framework v4) supportera les modèles de données d'entité "Code uniquement" et le concepteur EDM est censé être bien meilleur. L'une ou l'autre amélioration devrait nous faciliter la vie. Jusque là...


Réponse populaire

Essayez de supprimer la colonne de propriété étrangère de l'ensemble d'entités en utilisant un modèle de entité qui résoudra votre problème.

Par exemple

Nous avons deux tables, l'une est le client et l'autre, la commande . À l'aide de la conception du modèle d'entité, nous avons ajouté l'association entre les clients et les commandes lorsque nous faisons ce cadre d'entité Ado.net.

Comme Customer.Orders - Ici l'ordre est la liste Order.Customer

Un - beaucoup de relation.

Nous devons donc supprimer la propriété de avec le nom CustomerId [colonne de clé étrangère] du jeu d’entités Order .

Pour référence:

http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/2823634f-9dd1-4547-93b5-17bb8a882ac2/



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow