Pregunta

Estoy trabajando en la modificación de este ejemplo:

Using advWorksContext As New AdventureWorksEntities
    ' Call the constructor that takes a command string and ObjectContext.
    Dim productQuery1 As New ObjectQuery(Of Product)("Product", advWorksContext)

    Dim result As Product
    For Each result In productQuery1
        Console.WriteLine("Product Name: {0}", result.Name)
    Next
End Using

Una ObjectQuery puede enumberated sólo una vez. (Los intentos posteriores a la enumeración lanzan una excepción.) El enumberation tiene lugar en el de cada estado. El problema es que si la consulta está vacía intentar una para cada lanzará una excepción. Pero si puedo comprobar si hay un recuento:

If productQuery1.Count > 0 Then . . .

Eso se come mi una oportunidad en la enumeración. Pude nido del For Each en un bloque try / catch y tirar las excepciones consulta vacía, pero eso es feo. ¿Hay una solución mejor?

¿Fue útil?

Solución

Si se agrega una llamada ToList() hasta el final de la consulta, usted debe ser capaz de enumerar los resultados tan a menudo como desee.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top