LINQ to 数据表分组依据
LINQ to Datatable Group By
我有一个查询 return 有 3 列数据。
Country | Religion | Population
--------------------------------
US | Christianity | 80000000
US | Islam | 1000000
US | Judaism | 5000000
China | Buddhism | 100000000
China | Christianity | 2345737
等等。
我需要按国家/地区显示此数据。 JSON 对象看起来像
[ { "Country" : "US",
{
"Christianity" : 80000000,
"Islam": 1000000,
"Judaism": 5000000
}
},
{ "Country" : "China",
{
"Buddhism " : 100000000,
"Christianity ": 2345737
}
}
]
最好的方法是什么?将数据放入数据表并使用 LINQ 查询它(如果是,那么如何?)
或者创建字典>。但我对如何填充数据感到困惑。
也许可以创建一个 class,其中包含国家/地区、字典和 return 这个 class 的数组。
谢谢。
您可以使用 Group by in LINQ 对数据进行分组。
你可以这样使用:
var grouped = from d in sampleData
group d by d.Country
into g
select new {
Country = g.Key,
Data = g.Select(i => new {
Religion = i.Religion,
Population = i.Population
})
};
然而,一旦它序列化为 JSON,它看起来就不会完全一样了。
我有一个查询 return 有 3 列数据。
Country | Religion | Population
--------------------------------
US | Christianity | 80000000
US | Islam | 1000000
US | Judaism | 5000000
China | Buddhism | 100000000
China | Christianity | 2345737
等等。
我需要按国家/地区显示此数据。 JSON 对象看起来像
[ { "Country" : "US",
{
"Christianity" : 80000000,
"Islam": 1000000,
"Judaism": 5000000
}
},
{ "Country" : "China",
{
"Buddhism " : 100000000,
"Christianity ": 2345737
}
}
]
最好的方法是什么?将数据放入数据表并使用 LINQ 查询它(如果是,那么如何?)
或者创建字典>。但我对如何填充数据感到困惑。
也许可以创建一个 class,其中包含国家/地区、字典和 return 这个 class 的数组。
谢谢。
您可以使用 Group by in LINQ 对数据进行分组。
你可以这样使用:
var grouped = from d in sampleData
group d by d.Country
into g
select new {
Country = g.Key,
Data = g.Select(i => new {
Religion = i.Religion,
Population = i.Population
})
};
然而,一旦它序列化为 JSON,它看起来就不会完全一样了。