用于创建PIVOT表的Linq查询 [英] Linq query for creating PIVOT table
本文介绍了用于创建PIVOT表的Linq查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有三个表table1,table2和table3
I have three tables table1, table2 and table3
Table1
Id Data
1 Data1
2 Data2
3 Data3
Table2
Id Meta data
1 Meta data1
2 Meta data2
" "
" "
" "
Table 3
Id Data ID Meta Data ID Value
1 Data1 Metadata1 Value1
2 Data1 Metadata2 Value2
3 Data2 Metadata1 Value3
4 Data2 Metadata2 Value4
我想通过使用LINQ查询联接这些表来创建数据透视表
I want to create a pivot table by joining these tables using LINQ queries
我的结果表应该是这样
Data Metadata 1 Metadata2 ‘""" and so on……
Data1 Value1 Value2
Data2 Value3 Value4
什么是合适的linq查询,可能对我来说是解决方案?
What would be the appropriate linq query which may be solution for me to achieve the result?
推荐答案
您不能只是这样做吗?不需要花哨的linq
Can't you just do this? No fancy linq is necessary
var dict = new Dictionary<object, PivotedValue>();
foreach(var t in table3){
if(!dict.ContainsKey(t.DataID)) dict.Add(t.DataID, new PivotedValue{DataID = t.DataID});
dict[t.DataID].PivotedFields.Add(t.MetaDataID, t.Value);
}
class PivotedValue{
object DataID {get;set;}
Dictionary<object, object> PivotedFields {get;set;}
}
这篇关于用于创建PIVOT表的Linq查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文