Problème avec Entity Framework après l'ajout d'une colonne à la table de base de données

asp.net c# entity-framework sql-server

Question

Je devais ajouter une nouvelle colonne NVARCHAR à une table de ma base de données. J'ai donc ajouté la colonne, puis lancé Visual Studio pour mettre à jour le fichier EDMX pour Entity Framework.

J'ai exécuté le modèle de mise à jour à partir de la base de données sur tout, ce qui n'a abouti qu'à un "lecteur de données incompatible". J'ai donc renommé la table entière de la base de données, mis à jour EDMX à partir de la base de données, renommé la table en son nom d'origine, exécuté la mise à jour à nouveau, puis créé de nouvelles importations de fonctions pour toutes les procédures stockées concernées. Mais je reçois toujours la même erreur:

Le lecteur de données est incompatible avec le '[Modèle]. [Entité]' spécifié. Un membre du type, '[Column]', n'a pas de colonne correspondante dans le lecteur de données avec le même nom.

J'ai regardé un peu autour de moi, et cela semble être une erreur courante si le nom de la colonne est différent dans la base de données et dans la structure. Ce n'est cependant pas le cas, ils ont le même nom.

Je peux accéder à la colonne du code via [Entity] .Context. [Column]. Je ne vois donc pas très bien de quoi le lecteur de données se plaint.

Je suis à court d'idées, toute aide est la bienvenue.

Réponse acceptée

En fait, EDMX fonctionnait bien, mais le concepteur a arrêté, pour une raison étrange, de mettre à jour Designer.cs dans mon projet.

Je devais y aller et l'éditer manuellement.


Réponse populaire

La mise à jour du modèle remplace le schéma du magasin, mais pas le schéma du client ni le mappage. Pour commencer avec "une table rase", sauvegardez votre EDMX actuel , puis ouvrez-le au format XML. Supprimez toutes les références à la table, puis fermez et ouvrez l'erreur graphique. Construire. Si vous avez des erreurs (peut-être des liens rompus vers la table supprimée), corrigez-les. Puis mettez à jour le modèle pour rajouter la table.



Related

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