【发布时间】:2012-10-04 00:09:14
【问题描述】:
您好,我需要在 vb.net 中具有 group by 的动态 linq 查询。
我的查询如下。
在第一个查询中,我需要按两列分组,但在第二个查询中,我只需要按一列分组。这取决于用户希望如何查看报告。
如何根据用户的选择在运行时生成这些查询?
提前致谢。
Dim query = From r In dtString.AsEnumerable
Group r By Key0 = r.Field(Of String)("country"),
Key1 = r.Field(Of String)("region") Into Group
Select Key0, Key1,
DebitTotal = Group.Sum(Function(r) r.Field(Of Decimal)("debit")),
CreditTotal = Group.Sum(Function(r) r.Field(Of Decimal)("credit"))
Dim query = From r In dtString.AsEnumerable
Group r By Key0 = r.Field(Of String)("country") Into Group
Select Key0
DebitTotal = Group.Sum(Function(r) r.Field(Of Decimal)("debit")),
CreditTotal = Group.Sum(Function(r) r.Field(Of Decimal)("credit"))
【问题讨论】:
-
我不明白,你为什么不用
If..Else? -
我使用了选择案例。但是关键字段计数会根据用户的选择而变化,它可以是 1 或 7。所以我不得不重新编码相同的东西 7 次。如果有一天报告关键字段数增加到 100,这将不是动态的 :)
标签: vb.net linq dynamic group-by