Problème dans la cartographie des fragments dans l'Entity Framework
Je suis en utilisant entity framework et j'ai couru dans une étrange erreur.
Je suis la construction d'un forum et j'ai créé une table dans la base de données pour "ignore" quand les gens n'aiment pas les uns les autres, ils vont ignorer quelqu'un. Le tableau a deux colonnes, et ensemble, ils sont les clés principales.
PK InitiatingUser
PK IgnoredUser
EF cartes de ce tableau, j'obtiens cette erreur:
Erreur 7 erreur 3034: Problème dans la cartographie des fragments de départ à des lignes de 1467, 1477:Deux entités avec éventuellement des différentes touches sont mappés sur la même ligne. Veiller à ce que ces deux la cartographie des fragments de la carte sur les deux extrémités de la AssociationSet pour les colonnes correspondantes.
J'ai ouvert l'edmx dans l'éditeur xml et navigué à la délinquance des lignes.
<MappingFragment StoreEntitySet="Ignores">
<ScalarProperty Name="IgnoredUser" ColumnName="IgnoredUser" />
<ScalarProperty Name="InitiatingUser" ColumnName="InitiatingUser" />
</MappingFragment>
Je suis juste de commencer avec les objectifs EF et je ne comprends pas ce qui se passe ou ce que le problème pourrait être.
Toute aide est appréciée.
MODIFIER
Les relations entre les ignore l'habitude d'avoir les clés étrangères de la cartographie à la fois d'initier l'utilisateur et ignoré de l'utilisateur de la clé primaire (nom d'utilisateur) de la table des utilisateurs. C'était quand j'ai mappé EF à cette table. Depuis, j'ai supprimé les FKs pour voir si cela peut aider, mais il n'a pas.
Voir mon edit pour les relations.
OriginalL'auteur Chev | 2011-01-27
Vous devez vous connecter pour publier un commentaire.
Cela est probablement dû à plusieurs-à-plusieurs table de jointure dans votre modèle d'entité, ou ce que EF pense est un tableau (éventuellement comme celui qui ne possède pas sa propre clé, mais dont l'identité est composée de deux ou plusieurs clés étrangères).
Ainsi, par exemple, disons que vous avez les tableaux suivants:
Dans votre modèle d'entité, vous devez seulement ajouter de la Personne et l'Adresse. Si vous ajoutez PersonAddress, alors EF lève l'erreur. Selon cette MSDN Q&A, EF prendre la table de jointure en compte automatiquement.
Votre réponse m'a sauvé. À deux reprises.
OriginalL'auteur Shauna
Je ne sais pas ce qui n'allait pas ici, mais j'ai juste supprimé la table de la moraine d'oak ridges et le DB puis recréée avec un ID de colonne, au lieu de deux clés primaires. Je re-mapped la table, compilé, et tout va bien maintenant. Il aurait été plus pratique de le faire de la manière que je l'ai eu, mais bon.
Si quelqu'un a n'importe quelle analyse faites le moi savoir. Je préfère accepter que quelqu'un d'autre répondre.
OriginalL'auteur Chev