一个关于group by的linq查询

lw_881020 2012-07-18 10:51:36
请问可不可以把where条件放到group by后面,或者说linq里有没有 group by all。

var work = GetWorkList(p=>true);
var wo = from p in work
where (p.ProjectID == id && p.IsCheck == true)
group p by p.UserObjectID into g
select new { g.Key, TotalTime = g.Sum(p => p.UseOfTime) };
...全文
176 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
你的选择B 2012-07-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
请问可不可以把where条件放到group by后面,或者说linq里有没有 group by all。
C# code

var work = GetWorkList(p=>true);
var wo = from p in work
where (p.ProjectID == id && p.……
[/Quote]
先过滤条件,然后再对过滤后的数据进行处理,这样性能会更好
你的选择B 2012-07-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
请问可不可以把where条件放到group by后面,或者说linq里有没有 group by all。
C# code

var work = GetWorkList(p=>true);
var wo = from p in work
where (p.ProjectID == id && p.……
[/Quote]
这种写法是正常的写法
EnForGrass 2012-07-21
  • 打赏
  • 举报
回复
group by all?
可以这样
group c by c.id,c.name,c.address
lw_881020 2012-07-19
  • 打赏
  • 举报
回复
linq里有没有类似SQL的group by all?
lw_881020 2012-07-18
  • 打赏
  • 举报
回复
做一个2列的柱状图表报,这2列都是外键,根据用户选择生成,有时候选择的某列可能不是数据中的值,所有得得到这个NULL值,然后把查询出来的遍历给一个DateTable,如果没有where放到前面,那么这个2个datetable的rows就会不一样,然后出来的表报就混乱了[Quote=引用 2 楼 的回复:]
引用楼主 的回复:
请问可不可以把where条件放到group by后面,或者说linq里有没有 group by all。
C# code

var work = GetWorkList(p=>true);
var wo = from p in work
where (p.ProjectID == id && p.……

这样已经不错了。不知道你要……
[/Quote]
lw_881020 2012-07-18
  • 打赏
  • 举报
回复
做一个2列的柱状图表报,这2列都是外键,根据用户选择生成,有时候选择的某列可能不是数据中的值,所有得得到这个NULL值[Quote=引用 1 楼 的回复:]
1。先过滤再group by
2. 先group by 再过滤

你觉得哪个性能更好一些,更快一些?

很明显的问题,不知道你想干什么
[/Quote]
EnForGrass 2012-07-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
请问可不可以把where条件放到group by后面,或者说linq里有没有 group by all。
C# code

var work = GetWorkList(p=>true);
var wo = from p in work
where (p.ProjectID == id && p.……
[/Quote]
这样已经不错了。不知道你要什么结果
q107770540 2012-07-18
  • 打赏
  • 举报
回复
1。先过滤再group by
2. 先group by 再过滤

你觉得哪个性能更好一些,更快一些?

很明显的问题,不知道你想干什么

8,497

社区成员

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

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