2
我有一個表中存儲數據值和兩個分層標籤的數據庫。Linq GroupBy與多個組的投影
Data
{
int ID,
string Label,
string Section,
double Value
}
一個示例項,來說明我的問題:
{"Sport", "", 12}
{"Sport", "Baseball", 33}
{"Sport", "Football", 44}
{"Food", "", 34}
{"Food", "Pizza", 56}
{"Food", "Donuts", 19}
我希望能夠打印出的價值觀,像這樣:
Sport | 12
Baseball | 33
Football | 44
Food | 34
Pizza | 56
Donuts | 19
這是我的代碼那就完成了我想要的50%:
var first = (from d in db.Data
where d.ID= PARAM
select d);
var row = first.GroupBy(x => x.Label);
foreach (var k in row)
{
Console.Write(k.Key + "\t|");
foreach (var j in k)
{
Console.Write(j.Data);
}
Console.Write("\n");
}
但這只是打印出來:
Sport | 12
Sport | 33
Sport | 44
Food | 34
Food | 56
Food | 19
我明白爲什麼,我只是不知道如何從k.key
部分訪問.Section
屬性。
如何使用linq來實現我想要的輸出?
我得到它的工作:
變種行= first.GroupBy(X =>新的{x.Label,x.Section});
foreach (var k in row)
{
Console.Write(k.Key.Section == null || k.Key.Section == "" ? k.Key.Label : k.Key.Section);
...
}
新問題:
如何檢測 「運動」/邊緣 「民以食爲天」。我想插入一個分隔符(------------);
你們的榜樣輸出不匹配你的代碼。 – dtb 2010-09-27 16:44:44