0

特に左結合を行う必要があるlinqクエリがあります。ただし、クエリでラムダスキップ関数をコミットしようとすると、エラーが発生し、結合を使用したlinqクエリではスキップを実行できないと表示されます。

クエリは次のとおりです(スキップ変数は関数へのパラメーターであり、clientDBはデータコンテキストです)。

            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
4

1 に答える 1

0

結局、questionsQuery.ToList()を使用してこれをリストに変換するだけでした。ToList関数は結果セット全体をメモリ内リストに返すため、最善の解決策ではありませんが、機能しました。

于 2009-11-20T17:17:04.823 に答える