0

Я работаю на модификации this пример:Работа с ObjectQuery одноместного Enumeration вызов в Linq-To-Entities Entity SQL

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 

ObjectQuery может быть enumberated только один раз. (Последующие попытки перечисления вызывают исключение.) Инициация происходит в каждом заявлении. Проблема в том, что если запрос пуст, попытка для каждого будет вызывать исключение. Но если я проверил на счет:

If productQuery1.Count > 0 Then . . . 

Это съедает мой единственный шанс при перечислении. Я мог бы вложить блокировку для каждого в блок try/catch и выбросить пустое исключения запросов, но это уродливо. Есть ли лучшее решение?

ответ

2

Если вы добавите приглашение ToList() в конец вашего запроса, вы сможете перечислять результаты так часто, как вам нравится.

+0

Вы правы. Я был уверен, что уже пробовал это, поэтому я не пробовал. , , Так много для моей памяти! благодаря – Jeff

 Смежные вопросы

  • Нет связанных вопросов^_^