Trabalhando com a enumeração Desafio ObjectQuery Individual em LINQ to Entities Entity SQL
-
06-09-2019 - |
Pergunta
Eu estou trabalhando na modificação este exemplo :
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
Um ObjectQuery pode ser enumberated apenas uma vez. (As tentativas subsequentes na enumeração accionar uma excepção.) O enumberation ocorre na para cada instrução. O problema é que se a consulta está vazia tentar uma para cada lançará uma exceção. Mas se eu verificar se há uma contagem:
If productQuery1.Count > 0 Then . . .
Que come a minha única chance de enumeração. Eu poderia ninho para cada em um bloco try / catch e jogar fora as exceções consulta vazia, mas isso é feio. Existe uma solução melhor?
Solução
Se você adicionar uma chamada ToList()
até o fim da sua consulta, você deve ser capaz de enumerar os resultados como frequentemente como você gosta.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow