System.LINQ.Dynamic: selecione (“new (…)”) em uma List <T> (ou qualquer outra coleção enumerável de <T>)

Digamos que eu tenha um DataTable com quatro colunas, Company (string), Fund (string), State (string), Value (double):

    table1.Rows.Add("Company 1","Fund 1","NY",100));
    table1.Rows.Add("Company 2","Fund 1","CA",200));
    table1.Rows.Add("Company 3","Fund 1","FL",300));
    table1.Rows.Add("Company 4","Fund 2","CA",400));
    table1.Rows.Add("Company 5","Fund 1","NY",500));
    table1.Rows.Add("Company 6","Fund 2","CA",600));
    table1.Rows.Add("Company 7","Fund 3","FL",700));

Eu quero usar System.LINQ.Dynamic para criar uma consulta dinâmica que agrupa em empresa, fundo ou estado e, em seguida, seleciona meu grupo por critérios como a primeira coluna e soma (valor):

string groupbyvalue="Fund";
var q1= table1.AsEnumerable().AsQueryable()
              .GroupBy(groupbyvalue,"it")
              .Select("new ("+groupbyvalue+" as Group, Sum(Value) as TotalValue)");

Na consulta acima, o groupbyvalue (Group) selecionado sempre será uma string, e a soma será sempre um double, então eu quero poder converter em algo como uma List, onde Result é um objeto com propriedades Group (string ) e TotalValue (double).

Estou tendo muitos problemas com isso, alguém pode lançar alguma luz?

questionAnswers(4)

yourAnswerToTheQuestion