Erreur 3031 du manuel de la cartographie des fragments de départ à la ligne 439:colonne Non nullable
Error 3031: Problem in mapping fragments starting at line 439:Non-nullable column D_LINK.CARTON_QTY in table D_LINK is mapped to a nullable entity property.
J'ai une vision D_LINK
avec une colonne
CARTON_QTY(int, not null)
Je ne comprends pas où est mon problème
dois-je faire null \ comment?
Vous devez vous connecter pour publier un commentaire.
Le message d'erreur indique que votre colonne dans la table /vue n'est pas nullable, mais la propriété de la classe dans le modèle d'entité est nullable. Elles doivent à la fois être nullable ou non nullable.
actualisation de la table dans votre edmx à partir de votre base de données (Dans l'explorateur de modèles, cliquez-droit-->mise à Jour du Modèle De base de données --> onglet mise à jour --> sélectionnez votre tableau -->cliquez sur mettre à jour)
Il suffit de supprimer cette table à partir du modèle et l'ajouter à nouveau. Qui permettra de résoudre votre problème.
J'ai eu ce problème après avoir changé un aucun-colonne nullable à nullable un.
Ce que résolu pour moi a été la suivante:
L'une des actions seul ne résout pas mon problème(se sent comme un pépin). J'espère que cela peut aider quelqu'un.
C'est sur EF 4.5 que je viens de trouver cela, les versions précédentes ne peuvent pas avoir ce problème exact.
DRM mentionne la façon de le mettre à jour, mais j'ai trouvé que, parfois, même lorsque vous mettez à jour certains des changements mineurs, comme le passage champs requis ou de changer les noms de champ, cela ne change pas dans l'edmx même si vous le mettez à jour. Par conséquent, vos modèles de données ne correspondent pas à la base de données exactement.
J'ai trouvé la meilleure façon de garantir que vos edmx des modèles d'entité sont correctes est de supprimer l'edmx et l'ajouter de nouveau. Après avoir fait de la base de données de première approche sur EF 4.5 je pense que cette Entité semble jouer plus joliment avec la première approche de code au lieu de la première base de données.
Si vous souhaitez conserver l'enregistrement. Seulement annuler supprime l'erreur sinon reconstruit table
Je l'ai résolu par
1. Supprimer les tables particulières à partir du modèle
2. Clic droit sur le modèle, sélectionnez le modèle de mise à Jour de la base de données, sélectionnez l'supprimé les tables et cliquez sur terminer.