Linq 方法从数据集获取摘要视图
我的数据集如下所示:Linq 方法从数据集获取摘要视图,linq,Linq,我的数据集如下所示: Date toys_rate games_rate dvds_rate 1/1/12 15 20 18 1/2/12 19 null 20 日期 类别 比率 数量 对于任何给定的日期,每个类别将有0或1行 将这些数据放入摘要类型视图的好方法是什么 例如: 日期 类别1_率 类别2_比率 类别3_比率 类别4_比率 我有固定数量的类别 我正在使用linq 这里有一个例
Date toys_rate games_rate dvds_rate
1/1/12 15 20 18
1/2/12 19 null 20
日期
类别
比率
数量
对于任何给定的日期,每个类别将有0或1行
将这些数据放入摘要类型视图的好方法是什么
例如:
日期
类别1_率
类别2_比率
类别3_比率
类别4_比率
我有固定数量的类别
我正在使用linq
这里有一个例子。如果我有这些数据:
Date Category Rate Quantity
1/1/12 toys 15 12
1/1/12 games 20 20
1/1/12 dvds 18 30
1/2/12 toys 19 13
1/2/12 dvds 20 17
我想生成一个如下所示的摘要:
Date toys_rate games_rate dvds_rate
1/1/12 15 20 18
1/2/12 19 null 20
可能是这样的
var summarydata =
from r in table
group r by r.Date into g
select new
{
Date = g.Key,
ToysRate = g.Where(e=> e.Category == "toys").Count() > 0 ?
(int?)g.Where(e=> e.Category == "toys").First().Rate : null,
GamesRate = g.Where(e=> e.Category == "games").Count() > 0 ?
(int?)g.Where(e=> e.Category == "games").First().Rate : null,
DvdsRate = g.Where(e=> e.Category == "dvds").Count() > 0 ?
(int?)g.Where(e=> e.Category == "dvds").First().Rate : null
};
注意我没有测试过这个,因为我目前没有访问C#环境的权限
编辑-添加了可为空的int强制转换,以正确设置生成的匿名类型中各种速率字段的类型