linq带条件分组查询.

  折腾了1个小时,终于把这个问题解决了,分享下.哈哈.......

 先是获取上周的日期:

  string str = DateTime.Today.DayOfWeek.ToString().ToLower();

            DateTime endWeek = new DateTime();
            DateTime startWeek = new DateTime();

            switch (str)
            {
                case "monday":
                    endWeek = DateTime.Now.Date.AddDays(-1);
                    break;
                case "tuesday":
                    endWeek = DateTime.Now.Date.AddDays(-2);
                    break;
                case "wendesday":
                    endWeek = DateTime.Now.Date.AddDays(-3);
                    break;
                case "thursday":
                    endWeek = DateTime.Now.Date.AddDays(-4);
                    break;
                case "friday":
                    endWeek = DateTime.Now.Date.AddDays(-5);
                    break;
                case "saturday":
                    endWeek = DateTime.Now.Date.AddDays(-6);
                    break;
                case "sunday":
                    endWeek = DateTime.Now.Date.AddDays(-7);
                    break;
                default:
                    break;
            }
            startWeek = endWeek.Date.AddDays(-7);
            endWeek = Convert.ToDateTime(endWeek.ToShortDateString() + " 23:59:59");

然后LINQ语句分组查询,
       int value = (from a in context.Documents
                         where a.FillTime >= startTime & a.FillTime <= endTime
                         group a by a.UserID into b
                         orderby b.Count() descending
                         select b.Key).FirstOrDefault();

OK,完成了.呵呵


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值