2009-10-13 15 views
0

Je suis en train d'obtenir le reste des touches de sélection dans cette requête LINQ mais le IntelliSense me donne une erreurComment obtenir toutes les touches de sélection du groupe Linq par l'article

var query2 = from row2 in query1 
        group row2 by row2.questionid into g 
        where g.Count() > 0 
        select new 
        { 
         questionid1, //Error here 
         time,   //Error here 
         thecount = g.Count() 
        }; 

Comment puis-je obtenir les sélectionner clés?

Répondre

6

Je suppose que questionid et time sont les propriétés que vous souhaitez regrouper sur:

Vous ne pouvez obtenir les clés que vous Groupés sur de g, et que Jon a suggéré la clause where ne fait pas réellement n'importe quoi.

Essayez ceci:

var query2 = from row2 in query1 
      group row2 by new { row2.questionid, row2.time } into g 
//   where g.Count() > 0 
      select new 
      { 
       g.Key.questionid, 
       g.Key.time, 
       thecount = g.Count() 
      }; 
0

Il est pas du tout clair ce que vous demandez, j'ai peur. Qu'est-ce que le temps"? Quelle est la différence entre questionid et questionid1?

Au moment où vous avez regroupé, vous avez essentiellement obtenu une séquence de groupes plutôt qu'une séquence de des questions. Lorsque vous projetez ces groupes, vous pouvez utiliser la propriété Key du groupe pour obtenir la clé qui forme ce groupe et vous pouvez utiliser la séquence de valeurs dans le groupe (ce que fait g.Count() dans votre exemple). Par exemple, vous pouvez prendre le premier résultat dans le groupe et accéder à des champs individuels à l'intérieur de celui-ci.

Si vous pouviez donner une idée plus précise des données que vous avez et de ce que vous essayez d'obtenir, nous sommes beaucoup plus susceptibles de pouvoir vous aider.

En note supplémentaire - votre clause where ne fait rien pour le moment. Lorsque vous groupez par une clé, vous n'obtenez jamais de groupes "vides" - LINQ ne va pas créer des clés qui ne sont pas dans les données réelles.

Questions connexes