Si le modèle est petit, il est probablement plus facile de se régénérer tout simplement. Si vous préférez le corriger, vous pouvez modifier manuellement le code XML dans l'éditeur XML, avant ou après la conversion. Le problème, dans mon cas, était que les attributs EntityType n'étaient pas corrects - en particulier l'espace de noms était incorrect. Je ne suis pas sûr de comment cela a fonctionné correctement dans VS2008 mais je n'ai pas eu le désir d'aller plus loin. Si cela ne vous dérange pas de perdre la mise en page de votre modèle, la meilleure façon de le corriger est de supprimer tout dans la balise <Diagram>
, de sorte qu'on ressemble à ceci:
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
<Diagram Name="YourDiagramName">
</Diagram>
</edmx:Diagrams>
Enregistrer et rouvrez le modèle le designer. Le problème devrait être résolu maintenant.
Si vous souhaitez conserver votre mise en page, plutôt que de simplement tout supprimer à l'intérieur de la balise <Diagram>
, vous devez corriger tous les attributs EntityType incorrects. L'astuce consiste à s'assurer que le nom de type complet est spécifié. Dans mon cas, l'espace de noms contenait quelque chose de plus - je ne sais pas comment cela est arrivé ou comment cela a fonctionné dans VS2008, mais corriger cela est la première étape. Vous souhaiterez peut-être vérifier votre espace de noms et votre nom d'entité en consultant le code généré pour le modèle.
J'ai essayé cette solution à la fois sur VS2008 et VS2010 et j'ai obtenu des résultats différents. Dans VS2010, la simple correction des attributs EntityType a immédiatement résolu le problème. Dans VS2008, j'ai reçu une erreur lors de l'ouverture du modèle à nouveau, "Le paramètre est incorrect." Pour résoudre ce problème, j'ai été en mesure de modifier manuellement le XML à nouveau. Cette fois, j'ai supprimé tous les tags <AssociationConnector>
(et tous les éléments enfants). Puis enregistré le fichier et tout a semblé fonctionner à nouveau.
Hi Max. Je viens de mettre à jour une de nos solutions, et j'ai le même problème que vous. Avez-vous trouvé une solution à cela? –
Non, j'ai tout recréé à partir de zéro. – Max