2009-11-16 5 views
0

J'ai une requête linq dans laquelle je dois spécifiquement faire une jointure à gauche. Cependant, lorsque j'essaie de valider une fonction lambda Ignorer sur la requête, il y a des erreurs et dit que le saut ne peut pas être effectué sur une requête linq avec une jointure.Impossible d'utiliser "Ignorer" dans la requête LINQ

est ici la requête (la variable de saut est un paramètre dans la fonction et ClientDB est le 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 
+0

Utilisez-vous Sql Server, si oui, quelle version? –

+0

Est-ce que le problème avec la compilation ou avec le fonctionnement? – Maslow

Répondre

0

Je fini simplement convertir ce à une liste à l'aide questionsQuery.ToList(). Ce n'est pas la meilleure solution car la fonction ToList renvoie l'intégralité du jeu de résultats dans une liste en mémoire, mais cela a fonctionné.