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?

29
demandé sur Arrow 2012-08-03 23:03:12

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.

64
répondu Varius 2014-06-23 16:32:28

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.

9
répondu Marty Dill 2012-08-03 19:07:32

Au Lieu de .First() modifier pour .FirstOrDefault()

4
répondu c0deNinja 2012-08-03 19:05:53

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.

0
répondu user1012506 2016-07-31 05:01:55

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

0
répondu ransems 2018-05-07 13:52:00