2010-03-02 9 views
2

Est-il possible de grouper des lignes avec des colonnes et de fusionner les données restantes dans une autre colonne?Fusionner des éléments non groupés dans une colonne à l'aide de LINQ

est ici une image pour mieux comprendre la question et voir ce que je veux atteindre:

The wanted result http://img693.imageshack.us/img693/9227/linqgroupingquestion.gif

Vous pouvez voir le regroupement par IdPlace, IdInternship et la nouvelle colonne IdUsers faite avec des détails, ou la composition ID utilisateur. Je ne me soucie pas si je ne peux plus travailler avec des données dans une nouvelle colonne, c'est pour l'affichage.

Répondre

2

Vous cherchez quelque chose comme:

var result = 
    collection.GroupBy(x => new { x.IdPlace, x.IdInternship }) 
    .Select(x => new { x.Key.IdPlace, x.Key.IdInternship, 
      IdUsers = String.Join(", ", 
         x.Select(c => c.IdUser.ToString()).ToArray()) }); 

(.ToArray() est inutile dans .NET 4.0)

+0

1 Très belle ... – JonH

Questions connexes