Why isn\'t the following group by clause working? The original question was how do I perform group in LINQ inside vb code (dot.net v4.0) with DataTable and sum on the group?
In VB.NET, the syntax for grouping by composite keys is comma-separated keys, not an anonymous type:
(From e In table
Group e By
GroupName = e("GroupName"),
ProductName = e("ProductName")
Into Group
Select New With {
.ProductName = ProductName,
.QTY = Group.Sum(Function(x) Convert.ToInt32(x("QTY"))),
.GroupName = GroupName
})
With your syntax, it just uses the default equality comparer on the anonymous objects, which doesn't compare the fields.