/ / La modification des noms de propriété de navigation dans le modèle d'entité Entity Framework a entraîné le non-chargement des relations - c #, entity-framework, postgresql

La modification des noms de propriété de navigation dans le modèle d'entité Entity Framework a entraîné le non-chargement des relations - c #, entity-framework, postgresql

Nous mettons à jour un projet à partir de Entity Framework 4to Entity Framework 6. Nous utilisons d'abord le mappage de base de données. Lors de la construction initiale du projet, nous avons renommé de nombreuses propriétés de navigation dans le modèle d'entité afin d'améliorer la sémantique des noms de propriétés.

Lors de la mise à jour vers Entity Framework 6, le schéma .edmx avait été modifié. Nous avons donc recréé toutes les modifications de nom. Malheureusement, lors du premier accès à la base de données, Entity Framework lève cette exception:

System.Data.Entity.Core.MetadataException was unhandled by user code
HResult=-2146232007
Message=Schema specified is not valid. Errors:
The relationship "web_appModel.fk_service_order_workorder_id" was    not loaded because the type "web_appModel.workorder" is not available.
The following information may be useful in resolving the previous error:

The required property "asset" does not exist on the type "Persistence.Interface.workorder".

Notre modèle a une table service_order avec unclé étrangère vers une table de commande avec une clé étrangère vers une table d'actifs. La propriété de navigation dans l'objet de commande a été appelée à l'origine actif, mais nous l'avons renommée.

Le problème dans ce cas est qu’Entity Framework ne peut pas "charger une relation a à b car une propriété de navigation dans une relation b à c a changé de nom.

Les données sont dans une base de données PostgreSql. Nous utilisons DevArt DotConnect en tant que fournisseur Entity Framework.

Réponses:

0 pour la réponse № 1

Vous devez mettre à jour le modèle EntityFramewok à partir debase de données. Double-cliquez sur le modèle, puis vous trouverez un schéma des tables, cliquez dessus avec le bouton droit de la souris et sélectionnez Mettre à jour le modèle à partir de la base de données. Ensuite, allez dans l'onglet "Actualiser" et sélectionnez Tables.

J'espère que ça marche pour toi