将linq to ef的结果集合 处理 在合并 ,并将结果集绑定在chart控件上

yazi55 2016-09-13 10:14:57
1. 现在有一个linq查询结果集,该集合中有三个属性:num(int类型),str(string类型),date(string类型)。
2. 分别用三个list去将该结果集的三个属性值取出,并手动添加数据。
3.将这三个list合并成一个IEnumerable类型的集合 并将该集合绑定到chart控件上。使用的方法是chart.DataBindCrossTable();
PS:请不要问为啥用这个方法,我也不想用.我就是一个擦屁股的。

问题:怎么讲这三个list合并成IEnumerable集合?用什么方法?最好有代码,
下面是代码
var result = from AUDIOFILE n in audioList
orderby n.AUDIO_UPLD_DATE
group new { n.AUDIO_SOURCE, n.AUDIO_UPLD_DATE } by new
{
n.AUDIO_SOURCE,
n.AUDIO_UPLD_DATE.Date
} into g
select new Models.dateNum
{
num = g.Count(),
str = g.Key.AUDIO_SOURCE?.ToString() ?? "null",
date = g.Key.Date.ToString("yyyy MM dd")
};

List<int> num =new List<int>();
List<string> str =new List<string>();
List<string> date = new List<string>();

//获取所有属性的值 分成三个集合
foreach (var i in result)
{
num.Add(i.num);
str.Add(i.str);
date.Add(i.date);
}
//合并所有的list 变成IEnumerable类型
//怎么写???
#endregion
chart.DataBindCrossTable(“结果集合”, "str", "date", "num", "Label=num,Legend=str");


大神们 快来吧。
...全文
1354 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianlang_2008 2016-09-21
  • 打赏
  • 举报
回复
如果你的数据都是能通过数据库查出,那么组合的时候直接像数据库操作那样,用linq拼接出来不是更方便吗?
cfsjjjj 2016-09-20
  • 打赏
  • 举报
回复
思路有问题 干嘛非得那样 result1.AddRange(result2)结果对就行了
software_artisan 2016-09-16
  • 打赏
  • 举报
回复
你3个集合的数据类型都不一样,怎么能够放到一个IEnumerable集合里面呢?
q107770540 2016-09-15
  • 打赏
  • 举报
回复
从db 中拿出现有的数据( 数据库中有9月1日,2日和5日的数据),放到result1集合里 然后将db中没有3日和4日的数据,手动构造出一个result2集合(结构和result1相同) 然后 result1.AddRange(result2)得到合并后的修性的集合绑定到UI
yazi55 2016-09-14
  • 打赏
  • 举报
回复
这么说吧 则会个result返回的是数据库中有数据的集合。现在老板想把数据库中没有的数据也加上。例如 数据库中有9月1日,2日和5日的数据,但是没有3日和4日的数据。老板想把这些没数据的加入到这个集合里 形成一个修改过的数据集合 然后绑定到chart里面。我最初的想法就是用list取出模型中三个属性值 然后处理数据 接下来再通过某种方法将三个list在合并成 result 传给chart 绑定数据。 我是真的想不出来了 大神们救命啊
q107770540 2016-09-14
  • 打赏
  • 举报
回复
你所要的IEnumerable集合不就是result?

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧