Reflexion Sum Colonne avec delegate LinQ entity
Bonjour ,
Je cherche à dynamiser un code que voici qui fonctionne très bien mais qui est incomplet (voir les annotations):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
List<Tuple<string, int>> bioubou = new List<Tuple<string, int>>(); // une liste de tuple avec "nom de la colonne", "somme de la colonne"
var zizouzi = from t in typeof(DiagTab).GetProperties() select t.Name; // reflexion pour le nom de toute les colonnes de ma DB
List<string> essai = zizouzi.ToList(); // conversion en List
for (int i = 2; i < essai.Count(); i++) // "2" et pas 0 pour virer les 2ere colonne qui sont du texte
{
DiagEntities db = new DiagEntities(); // appel de ma table edmx
int lesion = db.DiagTabs.Sum(c => c.Vivant);
Label1.Text = essai[3]; // donne le nom de colonne 3 (juste pour le fun)
var viri = Tuple.Create(essai[i], lesion); // création d'un tuple avec le nom de la colonne "i" et la somme de la colonne "Vivant"
bioubou.Add(viri); // mise dans la list de tuple
}
bouba.DataSource = bioubou; // affichage
bouba.DataBind(); |
Comme vous l'aurez sans doute deviné je souhaite afficher le nom de chaque colonne avec la somme qui va bien.
Je n'arrive par a faire une reflexion sur la somme d'une colonne que je pourrait mettre dans mon expression lambda "lesion". Pour l'exemple j'ai mis l'expression lambda de la colonne Vivant de ma base mais j'aimerai avoir une expression generique.
Voila si vous pouviez me filer un coup de pouce sur cette expression ou la façon d'atteindre par reflexion les valeurs d'une colonne afin que je tente un SUM dessus...
Après je suis pas figé sur la lambda, si vous savez appeller la somme d'une colonne generique avec LinQ to entity ça me va :D
merci de votre aide