我有三个表table1,table2和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查询
连接这些表来创建数据透视表我的结果表应如下所示
Data Metadata 1 Metadata2 ‘””” and so on……
Data1 Value1 Value2
Data2 Value3 Value4
什么是适当的linq查询,可能是我实现结果的解决方案?
答案 0 :(得分:1)
你不能这样做吗?没有花哨的linq是必要的
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;}
}