web-dev-qa-db-fra.com

Une erreur s'est produite lors de l'exécution de la définition de la commande. Voir l'exception interne pour plus de détails

Dans mon application mvc asp.net, je reçois une erreur dans la fonction d'édition: dans un code donné

public ActionResult Edit(int id)
{

      var res = (from r in objeEntities.DocumentationsSet.Include("DocStatus")
                where r.textid == id select r)
                .First();
}

Je reçois cette exception:

Source : System.Data.Entity

Stack Trace : 
at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) 
at System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext
   context, ObjectParameterCollection parameterValues) 
at System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) 
at System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at System.Data.Objects.ELinq.ObjectQueryProvider.b__0[TResult](IEnumerable`1 sequence) 
at System.Data.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot)
at System.Data.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[S](Expression expression)
at System.Linq.Queryable.First[TSource](IQueryable`1 source)
at admin.com.Controllers.DocsGridController.Edit(Int32 id) in c:\Data\FinalCode\AC015\acomMVCSourceCode\admincom\Controllers\DocsController.cs:line
   307

Message : An error occurred while executing the command definition. See the inner exception for details.

Cette erreur est générée lorsque je me connecte au serveur distant. 

Quelle est cette erreur? Comment je le répare?

26
Aayushi Soni

Cela signifie généralement que vos fichiers de schéma et de mappage ne sont pas synchronisés et qu'il existe une colonne renommée ou manquante. 

51
John Farrell

Cela se produit lorsque vous spécifiez un nom différent pour le nom de la table du référentiel et celui de la base de données. Veuillez vérifier le nom de votre table avec la base de données et le référentiel.

3
user2919069

Après avoir passé des heures, j'ai découvert que j'avais oublié la lettre 's' dans le nom de la table

C'était [Table("Employee")] au lieu de [Table("Employees")]

3
Joe

La requête réelle ne renvoie-t-elle aucun résultat? First() échouera s'il n'y a aucun résultat.

1
Preet Sangha

Dans mon cas, j'ai bousillé la propriété connectionString dans un profil de publication en essayant d'accéder à la mauvaise base de données (Initial Catalog). Entity Framework se plaint alors que les entités ne correspondent pas à la base de données, et à juste titre.

1
j00hi

J'ai eu une situation similaire avec l'erreur «Une erreur s'est produite lors de l'exécution de la définition de la commande». J'ai eu des vues qui étaient extraites d'une autre base de données qui utilisait la sécurité actuelle des utilisateurs. La deuxième base de données n'autorisait pas la connexion de l'utilisateur de la première base, ce qui entraînait ce problème. J'ai ajouté la connexion à la base de données au serveur auquel il tentait d'accéder depuis le serveur d'origine et le problème a été résolu. Vérifiez vos vues et voyez s’il existe des dbs liés dont la sécurité est différente de celle de la base de données à laquelle vous vous connectez à l’origine. 

0
jettmann

Je viens de rencontrer ce problème et c'est parce que j'avais mis à jour une vue de ma base de données et non actualisé le schéma dans mon mappage.

0
Greg

Examinez l'exception interne et découvrez quel objet peut être à l'origine du problème. Vous avez peut-être changé de nom.

0
live-love