web-dev-qa-db-fra.com

Erreur Entity Framework - Erreur 11009: la propriété '' n'est pas mappée

Pour améliorer un projet plus ancien, les circonstances l’obligent à utiliser VS 2008 et Framework 3.5 - Je rencontre des problèmes avec edmx, qui affiche un comportement bizarre et ne met pas à jour les entités comme requis.

Edmx me renvoie l'erreur ci-dessus, mais lorsque je vais dans la table respective et que je clique avec le bouton droit de la souris sur "Mettre à jour le modèle à partir de la base de données", il n'y a pas de changement, l'erreur est toujours là. 

Si je supprime la table du diagramme en la sélectionnant et en appuyant sur la touche Suppr, dans le navigateur de modèles, elle disparaît de la base de données, mais lorsque vous cliquez sur "Mettre à jour le modèle à partir de la base de données", je ne peux pas voir i dans la liste "Ajouter". peut faire est "Actualiser" la table puisque je la vois toujours dans la liste d’actualisation (ce qui ne devrait pas arriver parce que je l’ai effacée!)

42
Amc_rtty

Vérifiez le fichier XML de votre modèle, il est probablement toujours là quelque part. Essayez de le supprimer manuellement de ce fichier XML, puis essayez de le réactualiser. Assurez-vous de prendre des sauvegardes cependant.

46
Thousand

J'ai eu ce problème lorsque j'ai changé le nom d'une colonne de CampaignKey à CampaignCode. Après avoir modifié la base de données, je suis allé dans le concepteur .edmx, puis cliquez avec le bouton droit de la souris et choisissez Mettre à jour le modèle à partir de la base de données . Puis quand j'ai compilé j'ai eu l'erreur: 

Erreur 11009: La propriété CampaignKey n'est pas mappée. 

En examinant de plus près ma table dans le concepteur, je constate que Visual Studio a créé le nouveau champ CampaignCode comme dans la base de données. Mais il avait également laissé l’ancien champ CampaignKey dans celui-ci, ce qui a provoqué l’erreur car il n’existait plus dans la base de données. 

Pour résoudre le problème, j'ai cliqué avec le bouton droit de la souris sur le champ CampaignKey de ma table dans le concepteur et sélectionné Supprimer

Après cela, j’ai sauvegardé le .edmx, compilé et l’erreur a disparu.

39
tjp69

J'ai déjà eu cette erreur auparavant lorsque les noms de colonne sur les tables ou les vues changent de casse. Par exemple, si une vue a une colonne nommée "OrderID" et que le nom de la colonne est remplacé par "OrderId", l'erreur "Property", "OrderID" n'est pas mappée " Pour résoudre ce problème, modifiez le cas de la manière dont il existe dans le modèle.

3
Dave

Je sais que cette question concernait VS 2008 et la «récupération» d'un modèle, mais pour tous ceux qui le trouvent comme ce fut le cas lorsque j'ai eu la même erreur 11009 dans VS 2015, j'ai d'abord essayé la «Mise à jour du modèle à partir d'une base de données», Je l'ai finalement résolu en cliquant avec le bouton droit de la souris sur la table de modèle dans la conception .edmx et en choisissant Mappage de table. Je n'ai pas eu à supprimer le modèle. Mon modèle est associé à une table de base de données.

3
hullflyer

J'ai ouvert le fichier edmx dans le Bloc-notes et supprimé le champ incorrect. J'ai ensuite mis à jour le modèle à nouveau dans le concepteur

2
Chazza

Parfois, la mise à niveau d'un projet génère des erreurs.

Assurez-vous simplement que vous avez sauvegardé toutes vos données, juste au cas où.

Lorsque nous ajoutons un modèle d'entité à notre projet, il ajoute une chaîne de connexion correspondante àweb.config. Désormais, lorsque vous supprimez le modèle du projet, la chaîne de connexion y réside toujours dans le fichier web.config.

Alors, prenez les mesures suivantes:

  1. Supprimer le modèle
  2. Supprimer la chaîne de connexion correspondante de web.config
  3. Maintenant, suivez les étapes pour ajouter le modèle à nouveau.

Espérons que cela fonctionne.

2
Viral Jain

J'ai eu la même erreur lorsque j'ai changé un nom de colonne dans la base de données et mis à jour la base de données à partir du modèle. Je n'ai pas pu trouver le nom d'origine dans la solution. Je l'ai résolu simplement 

  1. supprimer la table du modèle (clic droit sur la table, appuyer sur supprimer), 
  2. mise à jour du modèle à partir de la base de données (cliquez avec le bouton droit sur l'arrière-plan d'edmx, sélectionnez "Mettre à jour le modèle à partir de la base de données", Ajouter une table modifiée).
1
CindyH

J'ai cette erreur (Erreur 3007: Problème de mappage de fragments commençant aux lignes ...), après avoir ajouté une table à .edmx

D'abord, je supprime la dernière table ajoutée, puis je re-met à jour le modèle avec cette table, mais en cochant la case "Inclure la clé d'incrustation":

 enter image description here

0
Condemateguadua

J'ai eu le même problème avec Visual Studio 2017 et Entity Framework 6 sur un modèle Database First, après l'actualisation afin d'obtenir de nouvelles colonnes. 

J'ai tout essayé ci-dessus mais la seule chose qui a fonctionné a été de supprimer l'EDMX et d'en générer un nouveau. 

0
chakeda