System.LINQ.Dynamic: Выбрать («new (…)») в List <T> (или любую другую перечисляемую коллекцию <T>)
Скажем, у меня есть DataTable с четырьмя столбцами, Company (строка), Fund (строка), State (строка), 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));
Я хочу использовать System.LINQ.Dynamic для создания динамического запроса, который группирует либо по Компании, Фонду или Штату, а затем выбирает мою группу по критериям в качестве первого столбца и сумму (значение):
string groupbyvalue="Fund";
var q1= table1.AsEnumerable().AsQueryable()
.GroupBy(groupbyvalue,"it")
.Select("new ("+groupbyvalue+" as Group, Sum(Value) as TotalValue)");
В приведенном выше запросе выбранное groupbyvalue (Group) всегда будет строкой, а сумма всегда будет двойной, так что я хочу иметь возможность привести что-то вроде List, где Result - это объект со свойствами Group (string) ) и TotalValue (двойной).
У меня много проблем с этим, кто-нибудь может пролить свет?