我正在编写一个 asp.netC#网络应用程序;我有一个名为“ table1”的内存数据表,它有三列“ country”、“ productId”和“ productQuantity”;根据table2_ country_ product_1_ product_2_ product_n_ ' ' 中存在的产品总数table1;第一列“ country”必须包含国家名称;动态生成的列 ' product_1', ' product_2', ..., ' product_n' 必须包含productQuantity已在指定国家/地区销售的每种特定产品
我正在使用 Linq 查询表达式来编写代码;问题是我不能硬编码产品的名称和价值;我无法预测数据表中存在多少产品;现在,我正在使用以下表达式测试结果:
var query = table1.AsEnumerable()
.GroupBy(c => c.country)
.Select(g => new
{
country = g.Key,
product_1 = g.Where(c => c.productId == "a30-m").Select(c => c.productQuantity).FirstOrDefault(),
product_2 = g.Where(c => c.productId == "q29-s").Select(c => c.productQuantity).FirstOrDefault(),
.
.
.
product_n = g.Where(c => c.productId == "g33-r").Select(c => c.productQuantity).FirstOrDefault()
});
我正在举例说明“ table1”的外观以及“ table2”的外观:
谁能帮我找到一个使用linq树表达式或其他linq方法创建具有动态列的数据透视表的解决方案;任何帮助将非常感激。