我有一个产品清单,包括productname,productprice&类别。我想写一个linq查询来根据类别对所有产品进行分组。我尝试过以下方法:
var p = from s in productlist
group s by s.Category into g
select new { Category = g.Key, Products = g};
通过此查询,它显示一个表格,其中有两列作为类别&产品。 “类别”列按预期有两个类别,但在“产品”列下,没有数据。我希望将所有产品列表按类别分开。
答案 0 :(得分:2)
OK ..需要更多帮助,现在当我运行代码时,它只是 显示一个表,其中类别列显示两个类别 预期,但产品列未显示任何数据。
您需要从组中选择产品:
Products = g.Select(p => p).ToList()
看看以下一些其他属性。
var categories = from s in productlist
group s by s.category into g
select new {
Category = g.Key,
Products = g.ToList(),
ProductCount = g.Count(),
AveragePrice = g.Average(p => p.productprice)
};