SqlSugar数据查询去重

SqlSugarHelper.StartSqlSugar(db =>
            {
                
                // db.Queryable<Order_Detail>().Take(1).PartitionBy(od => od.Carrier).ToList(); // 分组获取每组第一条
                // db.Queryable<Order_Detail>().OrderBy(od => od.Carrier, OrderByType.Desc).Take(1).PartitionBy(od => od.Carrier).ToList();

                int Count = 0;
                int Count = 0;
                P.StoreDeliveryLogInfo = db.Queryable<Client_Info,Order_Detail,Basics_ShopInfo>((ci,od,bci) => new object[] {
                    JoinType.Left,ci.ID == od.Client && ci.Valid == 1,
                    JoinType.Left,ci.Shop == bci.ID && ci.Valid == 1,
                })
                .Where((ci, od) => od.Valid == 1 && od.PlatForm == R.PlatForm)
                .WhereIF(R.Shop > 0, (ci, od, bci) => ci.Shop == R.Shop)
                .WhereIF(!String.IsNullOrEmpty(R.StartTime), (ci, od, bci) => od.CreateTime >= SqlFunc.ToDate(R.StartTime))
                .WhereIF(!String.IsNullOrEmpty(R.EndTime), (ci, od, bci) => od.CreateTime <= SqlFunc.ToDate(R.EndTime))
                .Select((ci, od, bci) => new OperationModel.ReturnSubsidiary.Report.StoreDeliveryLogInfo() { 
                    ID = ci.ID,
                    Shop = ci.Shop,
                    ShopName = bci.Name,
                    Client = ci.ID,
                    ClientName = ci.Name,
                    OrderId = od.ID,
                    CreateTime = MySqlFunc.ToDateTime(od.CreateTime, 120)
                })
                .Take(1).PartitionBy(ci => ci.ID) // 根据客户ID去重重复
                .ToPageList(R.Page, R.PageCount, ref Count);
                P.Count = Count;
            });


版权声明:本文为weixin_44031194原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。