Erreur 3004: Problème dans la cartographie fragment de départ à la ligne
J'ai cette erreur lorsque je créer mon Service Web:
Erreur 3004: Problème dans la cartographie
fragment de départ à la ligne 323: Non
mappage défini pour les propriétés
JE_TRN_HS.JE_HDR_HSJE_HDR_KEY. Entité
est de type [TESTCPModel.JE_TRN_HS
C'est ce qui s'est vraiment passé.
J'ai créé ce Modèle de Données d'Entité à partir d'une base de données existante.
J'ai ajouté 2 tables et reconstruit le Service Web. La construction fut une réussite.
PUIS j'ai ajouté un lien entre les deux tables.
Quand j'ai essayé de reconstruire il a échoué avec le message d'erreur affiché ci-dessus!
Maintenant, voici le kicker! J'ai supprimé de la nouvelle Association et reconstruit. La compilation a échoué avec le même message d'erreur!?
La seule façon que je peux me débarrasser de cette erreur est que si je supprime le deuxième tableau, la reconstruction et le re-ajouter la deuxième table??
J'ai cherché PARTOUT pour trouver la solution à ce problème!
Merci
Steve
Vous devez vous connecter pour publier un commentaire.
Dans mon cas je ne suis pas autorisé à modifier les tables existantes, mais j'ai découvert que lorsque vous ajoutez une nouvelle table avec "Inclure les colonnes de clé étrangère dans le modèle" cochée dans EF4 et la table ne contient pas toutes les relations de clé étrangère puis vous essayez d'ajouter une association elle va provoquer cette erreur.
Définition de Contraintes dans un EF4 modèle qui n'existent pas dans la base de données
Dans le cas où l'article lié disparaît, La solution est:
Vous devez ouvrir la fenêtre propriétés de l'association, puis cliquez sur la Contrainte Référentielle ellipses pour se rendre à l'ref contrainte de dialogue. Ensuite, sélectionnez le champ approprié de la Charge de la Propriété' réglage.
Dans mon cas, un autre développeur a supprimé le champ de la table dans la base de données. Après avoir compris cela, la suppression de la table de l'entité de modèle et de le rajouter résolu le problème.
Vous ne pouvez pas simplement ajouter des tables de la base de données dans votre modèle, puis de créer une nouvelle association dans le modèle. Par défaut, il utilise association indépendante qui doit être mappé à sa base de données homologue = la relation doit exister dans la base de données. Vous devez modèle de votre relation en tant que FK association mais il ne permet qu'un-à-un et un-à-plusieurs associations. Les différences entre les types d'associations sont décrit ici.
J'ai eu ce problème quand j'ai fini de mise à jour du modèle de base de données " après avoir changé la chaîne de connexion.
En cliquant droit sur l'entité et de basculement sur une touche et Il semble avoir causé une actualisation et a résolu le problème. Cela semble plus comme un bug avec l'Entity framework.
Il convient de noter dans ce cas j'ai été en utilisant le connecteur MySQL donc je pense que c'est juste assez capricieux en général.
Vous pouvez obtenir cette erreur si vous avez un bien sur le modèle n'est pas transposable.
Par exemple, j'ai été la conversion de certains
Linq2Sql
àEF6
et a eu une erreur sur unBinary
champ. Binaire est unSystem.Data.Linq
type, mais pour EF il doit êtrebyte[]
. Changer de il a résolu le problème.Connu un problème similaire avec EF 6:
Le problème s'est avéré être que j'avais fait une modification à l' *.fichier edmx pour ma base de données-première application EF directement dans un éditeur de texte au lieu d'utiliser le concepteur. Donc juste repris les modifications de texte et les a appliqués à l'aide de la designer et l'erreur a disparu. Frapper enregistrer dans le concepteur est ce que les mises à jour associées *.msl fichier.
J'ai été faire cette erreur de Linqpad et ne pouvait pas comprendre pourquoi il a commencé tout d'un coup, et que ce serait un problème dans mon application en utilisant le contexte. Je viens aussi de supprimer la classe qui a été créé récemment par une nouvelle entité, puis j'ai cliqué avec le bouton droit sur le .tt fichier et cliquez sur "exécuter jusqu'au curseur" pour régénérer la classe. Qu'il fixe pour moi.
La mise à jour du Modèle de Base de données de l'option ne fonctionne pas pour moi.
Donc j'ai besoin de supprimer toutes les entités d'abord avant de mettre à jour le modèle de base de données pour réussir à fixer la solution.
Si vous avez appliqué une cartographie sur l'entité, essayez de supprimer la colonne de la table qui permettra de résoudre le problème
Dans mon cas, mon administrateur de base de données a changé les noms de colonne de majuscules en bas.
J'ai résolu le problème par la mise à jour (mise à jour du modèle de base de données) pour que le tableau de nouveau. Ensuite, supprimé précédente majuscules colonnes.
Dans mon cas, j'avais renommé un champ dans une table et a ajouté une clé primaire. Après cela, j'ai eu cette erreur. Je suis allé à ma liste d'objets/modèles et après de le supprimer et de l'actualisation de la base de données, j'ai eu de nouveau la même erreur. J'ai essayé plusieurs fois mais rien. La classe EF a été générant était un mix entre l'ancienne structure de la table et de la nouvelle.
Après avoir étudié pendant un certain temps, c'est la solution:
Aller à le Diagramme de vos entités. Recherchez votre table ou de l'ouvrir sur votre droite le Modèle de l'Explorateur (clic droit sur le diagramme - Ouvrir l'explorateur de modèles). La recherche de votre modèle/table sous ...Modèle, ...Modèle.De stocker et de le supprimer. Après cela, ajouter à nouveau la table de la base de données et le problème est résolu.