2010-08-12 4 views
1

J'ai suivi les étapes ci-dessous pour résoudre un problème similaire à celui décrit cependant je ne semblent être en mesure d'obtenir la solution pour travailler System.LINQ.Dynamic: Select(" new (...)") into a List<T> (or any other enumerable collection of <T>)dynamique LINQ GroupBy

J'ai même créé un projet pour qu'il soit exactement le même comme montré.

je reçois une erreur disant que « Aucune propriété ou un champ « Fonds » existe dans le type « DataRow » »

J'ai essayé de contourner ce problème:

IQueryable<Result> res = table1.AsEnumerable().AsQueryable() 
           .GroupBy("it[\"Fund\"]", "it") 
           .Select<Result>("new (Key as Group, Sum(Convert.ToDouble(it[\"Value\"].ToString())) as TotalValue)"); 

mais tout cela me fait passé l'erreur ci-dessus j'ai maintenant un problème pour obtenir la somme que l'erreur indique

types d'arguments ne correspondent pas

Je ne sais pas où aller d'ici Merci

Répondre

1
IQueryable<Result> res = table1.AsEnumerable().AsQueryable() 
           .GroupBy("it[\"Fund\"]", "it") 
           .Select<Result>("new (Key.ToString() as Group, Sum(Convert.ToDouble(it[\"Value\"].ToString())) as TotalValue)"); 

qui fonctionne !! - nécessaire pour faire un ToString() sur la touche