En travaillant d'abord avec le code EF, l'erreur ci-dessous est générée à différents moments:
Le type d'entité SomeType ne fait pas partie du modèle pour le contexte actuel.
Quelles sont les causes possibles de cette erreur?
En travaillant d'abord avec le code EF, l'erreur ci-dessous est générée à différents moments:
Le type d'entité SomeType ne fait pas partie du modèle pour le contexte actuel.
Quelles sont les causes possibles de cette erreur?
Ce message s'affiche également si vous essayez de faire quelque chose telle un ensemble d'une EntityState sur un enfant de la collection de dans une un-à-plusieurs association.
Par exemple, si un un-à-plusieurs association existe entre ParentEnt et ChildEnt dans l'extrait de code ci-dessous, le message d'erreur:
Le type d'entité Hash1Type ne fait pas partie du modèle dans le contexte actuel.
MyDbContext.Entry(ParentEnt.ChildEnt).State = EntityState.Unchanged;
Les modifications suivantes ne produit pas une erreur:
MyDbContext.Entry(ParentEnd.ChildEnt.First).State = EntityState.Unchanged;
Notez que l'utilisation de First()
dans ce cas peut indiquer t
Cela peut également être dû à des propriétés de votre POCO non nommées EXACTEMENT, comme elles le sont dans EDMX / modelbuilder. S'il vous plaît voir mon post ici pour plus de détails sur la façon dont j'ai résolu le problème.
Le type d'entité <classe> ne fait pas partie du modèle pour le contexte actuel
J'ai eu cette erreur.
Il s'est avéré que j'avais ajouté un nouveau champ à une db View quelques heures auparavant. J'ai mis à jour le contexte (dans le cadre d'une autre chose que je faisais) et j'ai eu cette erreur.
Lorsque j'ai mis à jour le POCO, tout allait bien: EF a renvoyé cette erreur car il ne pouvait pas mapper un champ de la vue sur une propriété du poco de la vue.
Ce n'est pas le message d'erreur le plus utile dans cette situation, OMI.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.