2011-02-02 6 views
3

J'ai un ListView imbriqué. Un peu comme celui-ci:
http://mattberseth.com/blog/2008/01/building_a_grouping_grid_with.htmlSélectionnez des colonnes spécifiques pour le groupe Linq par

Et la requête Linq suivante:

var query = (from c in context.customer_order 
      where c.id > 8000 
      group c by c.person_id into cgroup 
      select new { cgroup.Key, Orders = cgroup }); 

Je veux seulement charger quelques colonnes spécifiques dans l'élément de cgroup. Comme vous le faites normalement avec l'instruction "select" dans SQL. Est-ce possible? J'ai un blob dans la table et cela prend des années à charger s'il est inclus.

+0

Voulez-vous charger uniquement un ensemble de colonnes dans les ordres de propriété du résultat final? Si c'est le cas, vous pouvez essayer de créer un type anonyme avec les colonnes requises au lieu de conserver l'objet entier dans la propriété Orders du résultat final. –

Répondre

7
var query = (from c in context.customer_order 
      where c.id > 8000 
      group c by c.person_id into cgroup 
      select new { cgroup.Key, Orders = 
        from item in cgroup 
        select new { item.Foo, item.Bar } 
      }); 
2
var query = (from c in context.customer_order 
      where c.id > 8000 
      group c.Column by c.person_id into cgroup 
      select new { cgroup.Key, Orders = cgroup }); 

Ou si vous avez besoin de quelques colonne s:

var query = (from c in context.customer_order 
      where c.id > 8000 
      group new { c.Column1, c.Column2 } by c.person_id into cgroup 
      select new { cgroup.Key, Orders = cgroup });