SqlException (0x80131904): nom d'objet non valide 'dbo.Categories'
Je suis l'exception ci-dessus, quand je lance une application. La demande est à l'aide de asp.net mvc 3 /C#. J'ai fait un fichier mdf et ajouté un sous dossier App_Data dans Visual Web Developer Express. J'ai ajouté les chaînes de connexion pour le web.dossier config, mais quand je le lance et accédez à /magasin, j'obtiens l'erreur ci-dessus avec la ligne var categories = storeDB.Categories.ToList();
mis en évidence. Ma base de données contient 6 tables et l'un d'eux est de la Catégorie.
Contrôleur:
EventCalendarEntities storeDB = new EventCalendarEntities();
public ActionResult Index()
{
var categories = storeDB.Category.ToList();
return View(categories);
}
Chaînes de connexion au web.fichier de configuration:
<connectionStrings>
<add name="EventCalendarEntities"
connectionString="data source=.\SQLEXPRESS;
Integrated Security=SSPI;
AttachDBFilename=|DataDirectory|\MvcEventCalendar.mdf;
User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
source d'informationauteur user522767
Vous devez vous connecter pour publier un commentaire.
Généralement, cela signifie tout simplement un problème de configuration;
dbo
régime (peut-être dansFred.Categories
)dbo.CATEGORIES
L'un de ces sera la cause de l'exception ci-dessus. En particulier, vous etat:
Maintenant à un machine
Category
!=Categories
Essayez d'utiliser le modèle de constructeur de classe.C'est la façon de configurer ou de définir explicitement la correspondance entre la table et le modèle de la classe.
Dans votre entité/contexte de la classe, essayez d'ajouter ce code
Sa méthode.Assurez-vous d'ur en utilisant tous les y compris des déclarations.
Ce que vous voulez vraiment faire pour résoudre ce problème est de vous
Context class
vous devriez avoir une méthode appeléeOnModelCreating
... assurez-vous qu'il a ceci:Éprouvé,testé & vérifié pour la table avec le nom de la catégorie ou de tout mots-clés SQL nommé l'utilisation de la table ToTable pour instruire nom de table
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Puisque c'est toujours en haut de résultat de recherche sur l'exception en avril 2018 et il m'a conduit à une solution, permettez-moi de tack ce sur pour une situation spécifique...
Notre application est basée sur ABP ABP.Zéro, et nous avons déjà un motif qui fit La réponse de Marc. Alors que je parie explicite de la cartographie dans les OnModelCreating méthode (la Dhananjay réponse) aurait parfaitement fonctionné, il a semblé comme ABP cartographie fonctionnait parfaitement jusqu'à ce point et je ne voulais pas briser le modèle.
Ma solution a été d'ajouter une table d'attribut de la classe d'entité, et ce réglées EF confusion.