it-swarm.com.de

Die Behandlung von 'Sequenz hat keine Elemente' Ausnahme

Ich aktualisiere eine Menge in meinem Einkaufswagen, aber es wird eine Sequenz ausgelöst, die keine Elemente enthält.

Und ich weiß nicht, was das überhaupt bedeutet. Zuerst dachte ich, dass irgendwo ein Nullwert übergeben wurde, aber das ist nicht der Fall, da ich das überprüft habe:

Sequenz enthält keine Elemente Beschreibung: Eine nicht behandelte Ausnahme während der Ausführung der aktuellen Webanfrage aufgetreten. Bitte Überprüfen Sie die Stack-Ablaufverfolgung auf weitere Informationen zu dem Fehler und wo es entstand im Code. 

Ausnahmedetails: System.InvalidOperationException: Sequenz enthält keine Elemente

Quellfehler: 

Zeile 35: var uid = WebSecurity.CurrentUserId; Zeile 36: var newqty = Request.Form ["Quantity"]; Zeile 37:
OModel.Cart c = (aus Element in der Datenbank.Carts Zeile 38:
wobei item.UserId == uid && item.PartNumber == pnumber && item.OrderId oid Zeile 39: Element auswählen) .First ();

Irgendwelche Ideen, was das verursachen könnte?

32
Arrow

First() verursacht dies, wenn Ihre Auswahl 0 Zeilen zurückgibt. Sie müssen entweder diese Ausnahme abfangen oder FirstOrDefault() verwenden, die im Fall von keinen Elementen null zurückgibt.

72
Varius

Sie verwenden die First () - Methode von linq, die gemäß der Dokumentation eine InvalidOperationException auslöst, wenn Sie sie für eine leere Auflistung aufrufen.

Wenn Sie davon ausgehen, dass das Ergebnis Ihrer Abfrage manchmal leer ist, möchten Sie wahrscheinlich FirstOrDefault () verwenden, das den Wert null zurückgibt, wenn die Auflistung leer ist, anstatt eine Ausnahme auszulösen.

11
Marty Dill

Anstelle von .First() ändern Sie ihn in .FirstOrDefault().

5
c0deNinja

Teil der Antwort zum 'Handhaben' der 'Sequenz hat keine Elemente' Ausnahme inVBsoll leer sein

If Not (myMap Is Nothing) Then
' execute code
End if

Dabei ist MyMap die abgefragte Sequenz und gibt leer/null zurück. Zu Ihrer Information

0
ransems

Der Wert ist null. Sie müssen prüfen, warum ... (zusätzlich zur Implementierung der hier vorgeschlagenen Lösungen)

Überprüfen Sie die Hardware-Verbindungen.

0
user1012506