Le type d'entité que [Nom] ne fait pas partie du modèle dans le contexte actuel
J'ai créer un modèle à l'aide de EF et généré de son contexte d'utilisation de DbContext 5.X générateur. Maintenant j'ai renommé le nom de classe d'un de mes entités. Maintenant quand je lance mon code j'obtiens "Le type d'entité Student2 ne fait pas partie du modèle dans le contexte actuel." erreur.
var context = new MyEntities(connectionString);
foreach(var student in context.Students)
{
Console.WriteLine(class.Name.ToString());
}
Dans mon contexte de données.
public partial class MyEntities : DbContext
{
public MyEntities()
: base("name=MyEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
//public DbSet<Student> Students { get; set; } -> Origional
public DbSet<Student2> Student { get; set; } //I renamed Student to Student2
}
Comment résoudre ce problème? J'ai besoin de renommer ma classe en raison de certains conflits.
D'où vient
Comme apparemment vous avez résolu votre problème, pourriez-vous répondre à votre propre question en disant comment vous avez fait pour éclairer la communauté?
WELL2 a été faute de frappe. J'ai ajouté réponse à cette question. stackoverflow.com/a/16029086/1077385
WELL2
venir? Quelle est la structure de Student2
?Comme apparemment vous avez résolu votre problème, pourriez-vous répondre à votre propre question en disant comment vous avez fait pour éclairer la communauté?
WELL2 a été faute de frappe. J'ai ajouté réponse à cette question. stackoverflow.com/a/16029086/1077385
OriginalL'auteur fhnaseer | 2013-04-15
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème quand j'ai eu tort de métadonnées dans la chaîne de connexion. Essayez de recréer la chaîne de connexion dans l'application.config.
OriginalL'auteur Slava
Utilisation
Add-Migration
C'est l'exemple de:
et mise à Jour de la Base de données, comme ceci:
Dans
Visual Studio
vous pouvez utiliserPackage Manager Console
. Comme un Projet par défaut, vous devez choisir votreEntity Framework
projet - si vous avez de nombreux.J'ai mis à jour ma réponse. Est-il clair pour vous maintenant?
Le terme de "Complément à la Migration" n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou d'un programme exécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès a été inclus, vérifiez que le chemin d'accès est correct et essayez de nouveau.
Je suis nouveau sur Entity Framework. Eh bien j'ai édité mon fichier edmx et les modifications de certaines valeurs. Il fonctionne bien maintenant.
Hein? Accepter, upvote? Vous n'confondu. La bonne chose à faire est de retirer votre réponse.
OriginalL'auteur MikroDel
Eh bien, voici la solution. Ouvrez l'INTERFACE utilisateur de Modèle.fichier edmx, et il n'y modifier les Étudiants nom de l'entité à Student2. Cela va générer de nouveaux fichiers et le contexte dans lequel l'Étudiant sera remplacé par Student2.
OriginalL'auteur fhnaseer
De nombreux tutoriels demander de faire toutes ces autres classes supplémentaires qui ne sont pas nécessaires. Fondamentalement, tout ce que vous devez faire, de faire de l'entité cadre de travail est de créer le modèle, puis de créer l'objet dans votre contrôleur.
Exemple de Modèle: myEntity.edmx
Exemple De Contrôleur:
Tout le reste est dans le modèle d'entité, de sorte que lorsque l'erreur de lire: "myEntityContext" ne fait pas partie du modèle" c'est vrai parce que j'ai été la création d'une classe supplémentaire avec le nom "myEntityContext" par les tutoriels.
Lorsque vous essayez de créer une image forte avec le contexte que vous créez, il va exploser, car il tente d'associer une classe qui n'existe pas dans le modèle. Donc, par la suppression de tout le DAL et le Modèle de Contexte, la création d'un nouveau point de vue à l'aide de l'Entité.contextuel qui s'affiche dans la vue de menu tout devrait fonctionner correctement.
J'ai eu le même problème et posté ce que j'ai fait pour le fixer
OriginalL'auteur JEuvin