LINQ分组后取COUNT值再附加条件判断 急 高手进

jingchou84129 2009-09-10 05:07:18
from c in DataContext.album
join d in DataContext.photo
on c.aid equals d.albumid into p
from d in p.DefaultIfEmpty()
orderby c.entertime
descending
where c.userid == id && c.flag == false
group c by new { c.aid, c.title, c.photocover, c.userid } into g

select new {
g.Key.aid, //相册ID
g.Key.title, //标题
g.Key.photocover, //相册封面
g.Key.userid, //用户ID
count = g.Count(o=>o.photo!=null)
}


这个问题上次解决了,可以正常查出一个用户有多少相册,每个相册下相片数是多少。但是现在我需要加上photo表(相片)的flag为false的判断(flag为false表示相片没有被删除,flag为true表示被删除),上面的代码在某个相册下相片为0时,实际上有5个照片,但是flag都被置为了true,应该只能查出个数为0,但是实际上返回的是5,请问我如何让其显示为0?
...全文
437 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jingchou84129 2009-09-11
  • 打赏
  • 举报
回复
楼上说的方法不行哟 是加上相片的flag条件判断 为true时不会显示个数 false时则正确统计出个数
vwxyzh 2009-09-10
  • 打赏
  • 举报
回复
g.Count(o=>o.photo!=null && !o.flag)

8,497

社区成员

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

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