2010-03-29 9 views
0

J'essaie de faire le regroupement LINQ suivant, qui fonctionne dans le débogueur (les résultats sont renseignés dans l'objet GroupedOrders.) Mais VS 2008 me donne l'erreur suivante à l'adresse suivante: temps de conception ...Variable LINQ VB.NET non trouvée lors de la boucle d'une requête groupée

Name 'x' is not declared 



      Dim GroupedOrders = (From m In thisConsultant.orders _ 
         Group m By Key = m.commCode Into Group _ 
        Select commCode = Key, orders = Group) 

      For Each x In GroupedOrders 

      Next 


Public Structure consultantDetail 
    Public orders As List(Of orderDetail) 
End Structure 

Public Structure orderDetail 
    Public transactionID As Integer 
    Public qualifyingVolume As Decimal 
    Public commissionableVolume As Decimal 
    Public sponsorID As Integer 
    Public orderDate As DateTime 
    Public commCode As String 
    Public commPercentage As Decimal 
    Public discountPercent As Decimal 

End Structure 

Répondre

-1

essayer d'entourer la requête Linq avec try-catch. Parfois, il y a des erreurs qui ne sont pas directement attraper par VS2008.

+0

Eh bien cette erreur particulière a gagné ne me laisse pas construire le projet. Il ne reconnaît pas la variable X dans le pour chaque boucle –

+0

Pouvez-vous coller une partie de votre code? –

1

avez-vous Option Infer On?

+0

C'était le problème. Merci! –

+0

@Ed Sneller: Dans ce cas, vous devez marquer ceci comme "réponse acceptée" en cliquant sur la coche à côté de la réponse. – Heinzi

1

Mon suppose que vous avez Option Strict On et Option Infer Off. Pour vérifier ces paramètres:

  1. Faites un clic droit sur votre projet dans l'explorateur de solution
  2. Sélectionnez Propriétés
  3. Sélectionnez l'onglet Compile à gauche
+0

Peut-être que vous devriez aussi ajouter ce que les paramètres * devraient * être. (Gardez 'Strict' sur' On' et basculez 'Infer' sur' On'.) – Heinzi