visual studio secuencia mas example elementos elemento contiene coincidente c# .net linq entity-framework ado.net

c# - studio - Manejo de ''La secuencia no tiene elementos'' Excepción



la secuencia no contiene elementos c# (5)

Estoy actualizando una cantidad en mi carrito, pero está lanzando una Secuencia que no tiene excepción de elementos.

Y no sé lo que eso significa. Al principio pensé que tal vez se estaba pasando un valor nulo en alguna parte, pero ese no es el caso, como lo he comprobado:

La secuencia no contiene elementos Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

Detalles de la excepción: System.InvalidOperationException: la secuencia no contiene elementos

Error de fuente:

Línea 35: var uid = WebSecurity.CurrentUserId; Línea 36: var newqty = Request.Form ["Quantity"]; Línea 37:
OModel.Cart c = (desde el elemento en la base de datos. Línea de arte 38:
donde item.UserId == uid && item.PartNumber == pnumber && item.OrderId == oid Line 39: select item) .First ();

¿Alguna idea de que puede estar causando esto?


El valor es nulo, debe comprobar por qué ... (además de la implementación de las soluciones propuestas aquí)

Compruebe las conexiones de hardware.


En lugar de .First() cámbielo a .FirstOrDefault()


Está utilizando el método First () de linq, que según la documentación lanza una excepción InvalidOperationException si lo llama en una colección vacía.

Si espera que el resultado de su consulta esté vacío a veces, es probable que desee usar FirstOrDefault (), que devolverá nulo si la colección está vacía, en lugar de lanzar una excepción.


Parte de la respuesta para ''manejar'' la ''Secuencia no tiene elementos'' La excepción en VB es probar si está vacío

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

Donde MyMap es la secuencia consultada devolviendo vacío / nulo. Para tu información


First() está causando esto si su selección devuelve 0 filas. Tienes que capturar esa excepción o usar FirstOrDefault() que devolverá nulo en caso de que no haya elementos.