zoukankan      html  css  js  c++  java
  • EF lambda 分组查询中DateTime转Date

    现有的需求是把数据按照店铺编号和申请时间进行分组查询,分组的时候需要把申请时间去掉时间部分,仅保留有日期部分,试了很多都无果,期间还遇到了“无效的匿名类型成员声明符。匿名类型成员必须使用赋值、简单名称或成员访问来声明。”这样的提示错误,还是基础没打好,简单的弄个变量,赋值就可以了,主要用到了方法:DbFunctions.CreateDateTime()。下面把分组查询的代码贴出来

    public List<BubbleGoodsByGroup> GetByGroup()
            {
                var query = _db.BubbleGoods
                    .Where(a => a.AuditState == 0)
                    .Where(u => ShopId == null || u.Uid == ShopId)
                    .Where(u => GoodsId == null || GoodsId == 0 || u.GoodsSpecPrice.GoodsId == GoodsId)
                    .Where(u => CreateBeginDate == null || u.CreateDate >= CreateBeginDate)
                    .Where(u => CreateEndDate == null || u.CreateDate <= CreateEndDate).AsQueryable();
                var model = query.GroupBy(o => new { o.Uid, tempNewDate = DbFunctions.CreateDateTime(o.CreateDate.Year, o.CreateDate.Month, o.CreateDate.Day, 0, 0, 0) })
                    .Select(o => new BubbleGoodsByGroup
                    {
                        Uid = o.Key.Uid,
                        TotalApplyCount = o.Sum(a => a.ApplyCount),
                        TotalCount = o.Count(a => a.Id > 0),
                        ApplyDate = (DateTime)o.Key.tempNewDate
                    })
                    .OrderBy(u => u.Uid).ThenBy(u => u.ApplyDate)
                    .Skip(PageSize * (PageIndex - 1))
                    .Take(PageSize)
                    .ToList();
                return model;
            }

    参考链接:https://www.cnblogs.com/farb/p/EFSkillsCollection.html

  • 相关阅读:
    类和结构体的区别
    List中的select和where 方法
    js报错,Uncaught SyntaxError: Unexpected token }
    去除list集合中重复项的几种方法
    new
    Dynamic
    ie8下缓存
    datagrid中动态url
    从后台序列化后的类的字符串
    抽象工厂
  • 原文地址:https://www.cnblogs.com/wangbg/p/8431670.html
Copyright © 2011-2022 走看看