【发布时间】:2010-11-30 17:51:18
【问题描述】:
假设我有一个四列的 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 构建一个动态查询,该查询按 Company、Fund 或 State 分组,然后按条件选择我的组作为第一列,然后 sum(value):
string groupbyvalue="Fund";
var q1= table1.AsEnumerable().AsQueryable()
.GroupBy(groupbyvalue,"it")
.Select("new ("+groupbyvalue+" as Group, Sum(Value) as TotalValue)");
在上面的查询中,选中的groupbyvalue(组)总是一个字符串,总和总是一个double,所以我希望能够转换成类似List的东西,其中Result是一个有属性的对象组(字符串)和 TotalValue(双精度)。
我在这方面遇到了很多麻烦,有人能解释一下吗?
【问题讨论】:
标签: linq dynamic-linq