42 votes

EF 4.1 Code Première erreur - Le type d'entité SomeType ne fait pas partie du modèle pour le contexte actuel

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?

40voto

rovsen Points 1670

Cela peut se produire parce que:

  • DbContext configuré avec une chaîne de connexion incorrecte
  • L'entité spécifiée n'est en réalité pas mappée dans la configuration

15voto

GraehamF Points 670

Je l'ai compris lorsque ma classe héritée de DbContext n'a pas déclaré le modèle en tant que propriété. Par exemple, j'ai négligé d'ajouter une propriété pour FooModel dans le code ci-dessous:

 public class MyDBContext : DbContext
{
    public DbSet<FooModel> FooModels{ get; set; }

    // etc. ... 
}
 

5voto

user1585715 Points 158

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

1voto

Aaron Bar Points 311

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

1voto

Neil Thompson Points 3908

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.com

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.

Powered by:

X