Не удается использовать “Пропустить” в запросе LINQ

StackOverflow https://stackoverflow.com/questions/1743325

  •  20-09-2019
  •  | 
  •  

Вопрос

У меня есть запрос linq, в котором мне нужно конкретно выполнить левое соединение.Однако, когда я пытаюсь зафиксировать функцию пропуска лямбда в запросе, она выдает ошибку и сообщает, что пропуск не может быть выполнен в запросе linq с соединением.

Вот запрос (переменная skip - это параметр в функции, а clientDB - это datacontext):

            Dim questionsQuery = From helpQuestion As HelpQuestion In clientDB.HelpQuestions _
                             Group Join helpCat As HelpCategory In clientDB.HelpCategories _
                             On helpCat.ROW_ID Equals helpQuestion.CATEGORY_ID Into helpGroup = Group _
                             From helpCategory In helpGroup.DefaultIfEmpty() _
                             Where helpQuestion.DISPLAY_DESK _
                             Order By helpQuestion.ROW_ID Descending _
                             Select helpQuestion.ROW_ID, helpQuestion.EMAIL, helpQuestion.FIRST_NAME, helpQuestion.LAST_NAME, helpQuestion.QUESTION, helpQuestion.CREATED, helpQuestion.RESPONSE, helpCategory.CATEGORY_NAME

        If skip > 0 Then
            questionsQuery = questionsQuery.Skip(skip)
        End If
Это было полезно?

Решение

В итоге я просто преобразовал это в список, используя questionsQuery.ToList().Не лучшее решение, потому что функция ToList возвращает весь результирующий набор в список в памяти, но это сработало.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top