Gestion de L'Exception' Sequence n'a pas d'éléments'
Je mets à jour une quantité dans mon panier, mais il lance une séquence n'a pas d'exception d'éléments.
Et je ne sais même pas ce que cela signifie. Au début, je pensais que peut-être une valeur nulle était passée quelque part, mais ce n'est pas le cas, car j'ai vérifié que:
La séquence ne contient aucun élément Description: Une exception non gérée s'est produite pendant l'exécution de la requête Web en cours. S'il vous plaît consultez la trace de la pile pour plus d'informations sur l'erreur et où il est originaire du code.
Détails De L'Exception: Système.InvalidOperationException: Séquence ne contient aucun élément
Erreur Source:
Ligne 35: var uid = WebSecurity.CurrentUserId; Ligne 36: var newqty = demande.Formulaire ["Quantité"]; Ligne 37:
OModel.Panier c = (à partir de l'élément dans la base de données.Chariots Ligne 38:
l'emplacement de l'élément.UserId = = UID & & item.PartNumber = = pnumber & & item.N ° de commande = = oid ligne 39: sélectionnez l'élément).Premier ();
Des idées sur ce qui pourrait causer cela?
5 réponses
First()
est à l'origine de cette si votre sélection renvoie 0 lignes. Vous devez soit attraper cette exception, soit utiliser FirstOrDefault()
qui retournera null en cas d'absence d'éléments.
Vous utilisez la méthode First () de linq, qui selon la documentation lève une InvalidOperationException si vous l'appelez sur une collection vide.
Si vous vous attendez à ce que le résultat de votre requête soit parfois vide, vous voudrez probablement utiliser FirstOrDefault (), qui retournera null si la collection est vide, au lieu de lancer une exception.
La valeur est null, vous devez vérifier pourquoi... (en plus de la mise en œuvre des solutions proposées ici)
Vérifiez les connexions matérielles.
Une Partie de la réponse à "gérer" la "Séquence n'a pas d'éléments' Exception dans VB est à l'essai à vide
If Not (myMap Is Nothing) Then
' execute code
End if
Où MyMap est la séquence interrogée renvoyant empty / null. Pour info