我在 C# .Net 中有一个 EnumerableRowCollection,有两列。我想按第一列分组,然后是第二列,然后计算第二列。
我的 EnumerableRowCollection 基于在 DataGridView 上看起来像这样的 DataTable:
如果这是一个 MySQL 表,我会像这样实现我想要的:
SELECT `Product Name`,
`Upsell Price`,
Count(`Upsell Price`)
FROM `tblWhatever`
GROUP BY `Product Name`, `Upsell Price`;
我在 LINQ 中需要这个等价物
我以编程方式构造了 DataTable,如下所示:
DataTable myDataTable = new DataTabl();
DataColumn myColumn = new DataColumn("My Column");
myDataTable.Columns.Add(myDataTable);
myDataTable.Rows.Add(new object[] { "whatever" });
myDataGridView.DataSource = myDataTable;
我在这里Daniel Schaffer
找到了答案,这对我的分组有所帮助,但我被困在计数上,如下所示:
var queryableData = myDataTable.AsEnumerable();
var result = from row in queryableData
group row by new { ProductName = row["Product Name"],
ProductPrice = row["Product Price"] };
如何编辑我的 LINQ 查询以允许我按第一列分组,然后按第二列分组,然后计算第二列?