我正在编写一个 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方法创建具有动态列的数据透视表的解决方案;任何帮助将非常感激。