Invalide nom de l'objet 'dbo.AspNetUsers " dans Asp.NET MVC, Entity Framework 5
Si vous avez une base de données existante, et si vous souhaitez inclure Asp.NET l'Identité des tables, vous pouvez faire face à cette erreur. Également dans la base, vous ne pouvez pas savoir comment intégrer [AspNetRoles], [AspNetUserClaims], [AspNetUsers], [AspNetUserLogins] tables dans votre base de données existante. Bien qu'il existe beaucoup de ressources sur ce sujet, cette réponse est l'un des plus petits d'entre eux. Vous pouvez utiliser la Base de données-Première approche dans le Cadre de l'Entité à côté Asp.NET l'Identité de la fonctionnalité de Asp.NET MVC. C'est un très court tutoriel pour les nuls. Désolé pour mon anglais si elle est pauvre.
OriginalL'auteur Alp | 2016-06-26
Vous devez vous connecter pour publier un commentaire.
Ici est le plus court de l'intégration de Asp.NET l'Identité des tables de votre base de données existante.
1) Ouvrez un nouveau projet ou de votre projet dans Visual Studio (2015 ou 2013). Ouvrez votre l'Explorateur de serveurs et ouvrez votre DefaultConnection.Trouver votre Identité tables. (Dans le WebConfig de fichier, localDB connectionstring doit être active. Et votre autre Base de données existante de la chaîne de connexion ne doit pas être active.) Double Cliquez sur votre [AspNetRoles], [AspNetUserClaims], [AspNetUsers], [AspNetUserLogins] tables. Et la copie de tous leurs SQL codes.
2) Ouvrez votre base de données dans SQL Server Management Studio, cliquez-droit sur votre base de données et cliquez sur Nouvelle Requête passé ici, ce que vous avez copié dans la 1ère partie. Vous aurez passé quelque chose comme ça:
Si vous oubliez les lignes de départ avec GO, vous permettra de voir exactement l'erreur qui figure dans le Titre de cette question. Exécutez cette requête et d'attendre avec succès la création de tables. Votre base de données existante est maintenant prêt pour les fonctionnalités d'Identité de Asp.NET MVC 5.
3) Ouvrir WebConfig dans votre Visual Studio. Nous allons changer connectionstring ici. Écrire ceci:
Au lieu de localDB chaîne de connexion. Qui est-ce:
C'est tout ce que vous devez faire. Exécutez votre projet et vous Inscrire. Vous pouvez voir vos nouvelles données de l'utilisateur dans AspNetUsers table dans votre base de données existante.
Merci pour votre réponse. J'ai vu votre solution en quelques questions ici. Mais cela ne fonctionne pas dans ma situation. Ou peut-être que j'ai fait quelque chose de mal. J'ai eu quelques erreurs. Au lieu de la recherche de ces erreurs sur l'internet, et Si certaines personnes face à ces erreurs, ils peuvent utiliser cette solution.
Ok, je comprends.
Vous avez sauvé ma vie. J'ai, pour une raison quelconque, 2 DBContext classes (IdentityContext & Contexte Personnalisé). J'ai laissé tomber mon db quand la coutume contexte a changé. Un Contexte d'identité n'a pas recréer les tables. Meh
OriginalL'auteur Alp
Dans Visual Studio, allez à "Outils -> Gestionnaire de Package NuGet -> Gestionnaire de paquets de la Console" et dans la fenêtre de la console (à l'intérieur de Visual Studio) exécuter "mise à Jour de la Base de données de la commande"
OriginalL'auteur Kuleris
J'ai vécu cela.
peu de temps l'utilisateur de créer personnaliser classe à l'adhésion d'où asp.net ne pas créer AspNetUsers table
exemple :
dans ce scénario ASP.NET créer la table Membre et lorsque l'utilisateur pour s'authentifier,ASP.NET recherche pour AspNetUsers et n'a pas trouvé cette table.
ce problème est résolu avec l'ajout TableAttribute en début de classe personnalisée
OriginalL'auteur AminM
Que j'ai rencontré le même problème, Ici, j'ai oublier d'appeler EnsureCreated().
Après l'appel de cette méthode, il crée toutes les tables nécessaires à l'Identité.
De démarrage.cs
Data -> Migrations
dans votre solution. Si vous avez supprimé les migrations des fichiers que j'ai, rien ne sera fait.OriginalL'auteur Nilay