System.LINQ.Dynamic: Wybierz („nowy (…)”) na liście <T> (lub dowolnej innej wyliczalnej kolekcji <T>)
Powiedz, że mam DataTable z czterema kolumnami, 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));
Chcę użyć System.LINQ.Dynamic do zbudowania dynamicznego zapytania, które grupy w firmie, funduszu lub stanie, a następnie wybierają moją grupę według kryteriów jako pierwszą kolumnę i sumę (wartość):
string groupbyvalue="Fund";
var q1= table1.AsEnumerable().AsQueryable()
.GroupBy(groupbyvalue,"it")
.Select("new ("+groupbyvalue+" as Group, Sum(Value) as TotalValue)");
W powyższym zapytaniu wybrana wartość grupowa (Grupa) zawsze będzie ciągiem znaków, a suma zawsze będzie podwójna, więc chcę móc rzutować na coś podobnego do Listy, gdzie Wynik jest obiektem z właściwościami Grupa (ciąg ) i TotalValue (double).
Mam z tym wiele kłopotów, czy ktoś może rzucić trochę światła?