2010-06-14 4 views
0

Je veux afficher la liste des éléments qui appartiennent à certaines catégories comme ceci:affichage des requêtes LINQ et les résultats par catégorie

Catégorie I

  • Article 1
  • Point 2
  • article 3

Catégorie II

  • Point 6
  • Article 7

Catégorie III

  • Article 10
  • Point 11
  • Point 12
  • Article 13

Quelle est la meilleure (et la plus facile) façon de procéder? J'ai commencé à le faire avec deux requêtes - on obtient tous les objectifs, puis dans la boucle foreach (dans le contrôleur) j'appelle une autre requête qui obtient tous les éléments de cette catégorie, mais les choses se compliquent ... Je ne sais pas dans quel type de objet pour stocker ces éléments et comment passer tout cela ensemble à une vue.

Une idée?

Merci!

Répondre

1

pour sélectionner:

var query = from item in itemstable 
group item by item.category into y 
select new { key = y.Key, grouping = y }; 

alors accès:

foreach(var g in query) 
{ 
    //this is each grouping 
    foreach(var item in query.grouping) 
    { 
     //this is each item in each group 
    } 
} 
+0

Quel est le type de retour dans cette requête? Cela semble assez simple :) –

+0

demandez-vous le type de «requête»? Je pense que c'est IEnumerable

+0

Oui, cela fonctionne dans LinqPAD, mais je ne sais pas comment gérer cela dans le contrôleur? Y a-t-il un tutoriel sur IGrouping? –

Questions connexes