0

table1、table2、table3 の 3 つのテーブルがあります。

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クエリは何ですか?

4

1 に答える 1

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;}

}
于 2009-03-02T23:43:42.750 に答える