示例#1
0
 /// <summary>
 /// 根据标识和类型,动作。获取首页动态设置对象
 /// </summary>
 /// <param name="id"></param>
 /// <param name="type"></param>
 /// <param name="isUp"></param>
 /// <returns></returns>
 public HomeDynamicSettings GetHomeDynamicTop(long id, int type, bool isUp)
 {
     using (var db = DbService.GetInstance())
     {
         Sqlable sable = db.Sqlable().From("sc_home_dynamic_settings", "s")
                         .Where("s.type=@type");
         if (isUp)
         {
             sable = sable.Where($"s.display_order < (select display_order from sc_home_dynamic_settings where id = @id)");
         }
         else
         {
             sable = sable.Where($"s.display_order > (select display_order from sc_home_dynamic_settings where id = @id)");
         }
         List <HomeDynamicSettings> list = sable.SelectToList <HomeDynamicSettings>("s.*", new { id = id, type = type });
         if (list != null && list.Count > 0)
         {
             if (isUp)
             {
                 return(list.OrderByDescending(w => w.DisplayOrder).FirstOrDefault());
             }
             else
             {
                 return(list.OrderBy(w => w.DisplayOrder).FirstOrDefault());
             }
         }
         return(null);
     }
 }
        /// <summary>
        /// 使用Sqlable处理SQL拼接(支持参数化)
        /// </summary>
        /// <param name="userRanksQuery"></param>
        /// <param name="pars"></param>
        /// <returns></returns>
        private string HandleQueryBySqlable(UserRanksQuery userRanksQuery, out object pars)
        {
            Dictionary <string, object> paramsDictionary = new Dictionary <string, object>();
            var sqlTable = new Sqlable();

            sqlTable.Sql = new StringBuilder();
            if (!string.IsNullOrWhiteSpace(userRanksQuery.Rank))
            {
                sqlTable = sqlTable.Where("rank LIKE @Rank");
                paramsDictionary.Add("Rank", $"%{userRanksQuery.Rank}%");
            }
            if (!string.IsNullOrWhiteSpace(userRanksQuery.RankName))
            {
                sqlTable = sqlTable.Where("rank_name LIKE @RankName");
                paramsDictionary.Add("RankName", $"%{userRanksQuery.RankName}%");
            }
            if (!string.IsNullOrWhiteSpace(userRanksQuery.PointLower))
            {
                sqlTable = sqlTable.Where("point_lower = @PointLower");
                paramsDictionary.Add("PointLower", userRanksQuery.PointLower);
            }

            pars = paramsDictionary;

            foreach (var item in sqlTable.Where)
            {
                sqlTable.Sql.Append(item);
            }
            return(sqlTable.Sql.ToString().TrimStart(" AND".ToCharArray()));
        }
示例#3
0
        /// <summary>
        ///  获取gridtable数据源
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="sable"></param>
        /// <param name="pars">查询参数</param>
        /// <param name="selectFields">查询字段</param>
        /// <param name="whereObj">参数条件</param>
        /// <returns></returns>
        public static JsonResultModel <T> GetWidgetsSource <T>(Sqlable sable, GridSearchParams pars, string selectFields = "*", object whereObj = null) where T : class
        {
            var    query     = System.Web.HttpContext.Current.Request.QueryString;
            Type   type      = typeof(T);
            string tableName = type.Name;

            sable = sable.Where(BuildQuery(query));
            string orderBy = null;

            if (!string.IsNullOrEmpty(pars.sortorder))
            {
                orderBy = (pars.sortdatafield + " " + pars.sortorder);
            }
            else
            {
                orderBy = "getdate()";
            }
            var rows   = sable.SelectToPageList <T>(selectFields, orderBy, pars.pagenum + 1, pars.pagesize, whereObj);
            var result = new JsonResultModel <T>()
            {
                TotalRows = sable.Count(whereObj),
                Rows      = rows
            };

            return(result);
        }
示例#4
0
        public JsonResult GetListSource(GridSearchParams pars)
        {
            if (pars.sortdatafield == null)
            {     //默认按id降序
                pars.sortdatafield = "id";
                pars.sortorder     = "desc";
            }
            Sqlable sable = ls.GetListSqlable();
            var     model = JQXGrid.GetWidgetsSource <list>(sable, pars, "*");//根据grid的参数自动查询

            return(Json(model, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 处理SQL
        /// </summary>
        /// <param name="goodsInfoQuery"></param>
        /// <param name="pars"></param>
        /// <returns></returns>
        private string HandleQueryBySqlable(GoodsInfoQuery goodsInfoQuery, out object pars)
        {
            Dictionary <string, object> paramsDictionary = new Dictionary <string, object>();
            var sqlTable = new Sqlable();

            sqlTable.Sql = new StringBuilder();

            sqlTable = sqlTable.Where("status = @Status");
            paramsDictionary.Add("Status", (int)goodsInfoQuery.GoodsInfoStatus);

            if (!string.IsNullOrWhiteSpace(goodsInfoQuery.Keynum))
            {
                sqlTable = sqlTable.Where("goodsid = @Goodsid");
                paramsDictionary.Add("Goodsid", long.Parse(goodsInfoQuery.Keynum));
            }
            if (!string.IsNullOrWhiteSpace(goodsInfoQuery.Keyword))
            {
                sqlTable = sqlTable.Where("goods_name LIKE @GoodsName");
                paramsDictionary.Add("GoodsName", $"%{goodsInfoQuery.Keyword}%");
            }

            if (goodsInfoQuery.GoodsPriceLowerLimit.HasValue)
            {
                sqlTable = sqlTable.Where("goods_price >= @GoodsPriceLowerLimit");
                paramsDictionary.Add("GoodsPriceLowerLimit", goodsInfoQuery.GoodsPriceLowerLimit);
            }
            if (goodsInfoQuery.GoodsPriceUpperLimit.HasValue)
            {
                sqlTable = sqlTable.Where("goods_price <= @GoodsPriceUpperLimit");
                paramsDictionary.Add("GoodsPriceUpperLimit", goodsInfoQuery.GoodsPriceUpperLimit);
            }

            if (goodsInfoQuery.BuyCountLowerLimit.HasValue)
            {
                sqlTable = sqlTable.Where("goods_price >= @GoodsPriceLowerLimit");
                paramsDictionary.Add("BuyCountLowerLimit", goodsInfoQuery.BuyCountLowerLimit);
            }
            if (goodsInfoQuery.BuyCountUpperLimit.HasValue)
            {
                sqlTable = sqlTable.Where("goods_price <= @GoodsPriceUpperLimit");
                paramsDictionary.Add("BuyCountUpperLimit", goodsInfoQuery.BuyCountUpperLimit);
            }

            pars = paramsDictionary;

            foreach (var item in sqlTable.Where)
            {
                sqlTable.Sql.Append(item);
            }
            return(sqlTable.Sql.ToString().TrimStart(" AND".ToCharArray()));
        }
示例#6
0
 public JsonResult DataChild(GridSearchParams pars)
 {
     using (SqlSugarClient db = SugarDao.GetInstance())
     {
         if (pars.sortdatafield == null)
         { //默认按id降序
             pars.sortdatafield = "id";
             pars.sortorder     = "desc";
         }
         Sqlable sable = db.Sqlable().Form <GridTable>("g");                            //查询表的sqlable对象
         var     model = JQXGrid.GetWidgetsSource <Models.GridTable>(sable, pars, "*"); //根据grid的参数自动查询
         return(Json(model, JsonRequestBehavior.AllowGet));
     }
 }
        /// <summary>
        /// 使用Sqlable处理SQL拼接(支持参数化)
        /// </summary>
        /// <param name="operationLogsQuery"></param>
        /// <param name="pars"></param>
        /// <returns></returns>
        public string HandleQueryBySqlable(OperationLogsQuery operationLogsQuery, out object pars)
        {
            Dictionary <string, object> paramsDictionary = new Dictionary <string, object>();
            var sqlTable = new Sqlable(); sqlTable.Sql = new StringBuilder();

            if (operationLogsQuery.ApplicationId.HasValue)
            {
                sqlTable = sqlTable.Where("applicationid = @ApplicationId");
                paramsDictionary.Add("ApplicationId", operationLogsQuery.ApplicationId.Value);
            }
            if (!string.IsNullOrWhiteSpace(operationLogsQuery.OperationName))
            {
                sqlTable = sqlTable.Where("operation_object_name LIKE @OperationName");
                paramsDictionary.Add("OperationName", $"%{operationLogsQuery.OperationName}%");
            }
            if (!string.IsNullOrWhiteSpace(operationLogsQuery.Username))
            {
                sqlTable = sqlTable.Where("operator_username LIKE @Username");
                paramsDictionary.Add("Username", $"%{operationLogsQuery.Username}%");
            }
            if (!string.IsNullOrWhiteSpace(operationLogsQuery.OperationType))
            {
                sqlTable = sqlTable.Where("operation_type = @OperationType");
                paramsDictionary.Add("OperationType", operationLogsQuery.OperationType);
            }
            if (operationLogsQuery.TimeLowerLimit.HasValue)
            {
                sqlTable = sqlTable.Where("date_created >= @TimeLowerLimit");
                paramsDictionary.Add("TimeLowerLimit", operationLogsQuery.TimeLowerLimit);
            }
            if (operationLogsQuery.TimeUpperLimit.HasValue)
            {
                sqlTable = sqlTable.Where("date_created <= @TimeUpperLimit");
                paramsDictionary.Add("TimeUpperLimit", operationLogsQuery.TimeUpperLimit);
            }
            pars = paramsDictionary;

            foreach (var item in sqlTable.Where)
            {
                sqlTable.Sql.Append(item);
            }
            return(sqlTable.Sql.ToString().TrimStart(" AND".ToCharArray()));
        }
        /// <summary>
        /// 使用Sqlable处理SQL拼接(支持参数化)
        /// </summary>
        /// <param name="pointLogsQuery"></param>
        /// <param name="pars"></param>
        /// <returns></returns>
        private string HandleQueryBySqlable(PointLogsQuery pointLogsQuery, out object pars)
        {
            Dictionary <string, object> paramsDictionary = new Dictionary <string, object>();
            var sqlTable = new Sqlable();

            sqlTable.Sql = new StringBuilder();
            if (pointLogsQuery.IsIncome.HasValue)
            {
                sqlTable = sqlTable.Where("is_income = @IsIncome");
                paramsDictionary.Add("IsIncome", pointLogsQuery.IsIncome);
            }
            if (!string.IsNullOrWhiteSpace(pointLogsQuery.UserName))
            {
                sqlTable = sqlTable.Where("userid in (select userid from sc_user where username LIKE @UserName)");
                paramsDictionary.Add("UserName", $"%{pointLogsQuery.UserName}%");
            }
            if (!string.IsNullOrWhiteSpace(pointLogsQuery.Itemsname))
            {
                sqlTable = sqlTable.Where("itemsname LIKE @Itemsname");
                paramsDictionary.Add("itemsname", $"%{pointLogsQuery.Itemsname}%");
            }
            if (pointLogsQuery.SexyPoints.HasValue)
            {
                sqlTable = sqlTable.Where("sexy_points = @SexyPoints");
                paramsDictionary.Add("SexyPoints", pointLogsQuery.SexyPoints);
            }
            if (pointLogsQuery.ExperiencePoints.HasValue)
            {
                sqlTable = sqlTable.Where("experience_points = @ExperiencePoints");
                paramsDictionary.Add("ExperiencePoints", pointLogsQuery.ExperiencePoints);
            }

            pars = paramsDictionary;

            foreach (var item in sqlTable.Where)
            {
                sqlTable.Sql.Append(item);
            }
            return(sqlTable.Sql.ToString().TrimStart(" AND".ToCharArray()));
        }
示例#9
0
        private string HandleQueryBySqlable(GoodsSkuInoutQuery goodsSkuInoutQuery, out object pars)
        {
            Dictionary <string, object> paramsDictionary = new Dictionary <string, object>();
            var sqlTable = new Sqlable();

            sqlTable.Sql = new StringBuilder();
            if (!string.IsNullOrWhiteSpace(goodsSkuInoutQuery.GoodsName))
            {
                sqlTable = sqlTable.Where("goodsid in (select goodsid from sc_goods_info where goods_name LIKE @GoodsName)");
                paramsDictionary.Add("GoodsName", $"%{goodsSkuInoutQuery.GoodsName}%");
            }
            if (!string.IsNullOrWhiteSpace(goodsSkuInoutQuery.SkuName))
            {
                sqlTable = sqlTable.Where("skuid in (select skuid from sc_goods_sku_info where sku_name LIKE @SkuName)");
                paramsDictionary.Add("SkuName", $"%{goodsSkuInoutQuery.SkuName}%");
            }
            if (goodsSkuInoutQuery.InoutNumberMin.HasValue)
            {
                sqlTable = sqlTable.Where("inout_number >= @InoutNumberMin");
                paramsDictionary.Add("InoutNumberMin", goodsSkuInoutQuery.InoutNumberMin);
            }
            if (goodsSkuInoutQuery.InoutNumberMax.HasValue)
            {
                sqlTable = sqlTable.Where("inout_number <= @InoutNumberMax");
                paramsDictionary.Add("InoutNumberMax", goodsSkuInoutQuery.InoutNumberMax);
            }
            if (goodsSkuInoutQuery.IsOut.HasValue)
            {
                sqlTable = sqlTable.Where("is_out = @IsOut");
                paramsDictionary.Add("IsOut", goodsSkuInoutQuery.IsOut);
            }

            pars = paramsDictionary;

            foreach (var item in sqlTable.Where)
            {
                sqlTable.Sql.Append(item);
            }
            return(sqlTable.Sql.ToString().TrimStart(" AND".ToCharArray()));
        }
        private string HandleQueryBySqlableAPI(Dictionary <string, object> parsms, out object pars)
        {
            Dictionary <string, object> paramsDictionary = new Dictionary <string, object>();
            var sqlTable = new Sqlable();

            sqlTable.Sql = new StringBuilder();

            sqlTable = sqlTable.Where("status = @Status");
            paramsDictionary.Add("Status", (int)GoodsInfoStatus.Sale);

            if (parsms.ContainsKey("CategoryItemid"))
            {
                sqlTable = sqlTable.Where("categoryitemid = @CategoryItemid");
                paramsDictionary.Add("CategoryItemid", Convert.ToInt32(parsms["CategoryItemid"]));
            }
            if (parsms.ContainsKey("Brandsid"))
            {
                sqlTable = sqlTable.Where("brandsid = @Brandsid");
                paramsDictionary.Add("Brandsid", Convert.ToInt32(parsms["Brandsid"]));
            }
            if (parsms.ContainsKey("Charaid"))
            {
                sqlTable = sqlTable.Where("s2.charaid = @Charaid");
                paramsDictionary.Add("Charaid", Convert.ToInt32(parsms["Charaid"]));
            }
            if (parsms.ContainsKey("Max") && parsms.ContainsKey("Min"))
            {
                sqlTable = sqlTable.Where("goods_real_price between @Min and @Max");
                paramsDictionary.Add("Max", Convert.ToInt32(parsms["Max"]));
                paramsDictionary.Add("Min", Convert.ToInt32(parsms["Min"]));
            }

            pars = paramsDictionary;

            foreach (var item in sqlTable.Where)
            {
                sqlTable.Sql.Append(item);
            }
            return(sqlTable.Sql.ToString().TrimStart(" AND".ToCharArray()));
        }
示例#11
0
 /// <summary>
 /// Apply
 /// </summary>
 /// <param name="applySql">apply主体内容</param>
 /// <param name="shotName">apply简写</param>
 /// <param name="type">Apply类型</param>
 /// <returns></returns>
 public ISqlable Apply(string applySql, string shotName, ApplyType type)
 {
     sqlable = sqlable.Apply(applySql, shotName, (SqlSugar.ApplyType)(int) type);
     return(this);
 }
示例#12
0
        public Sqlable GetListSqlable()
        {
            Sqlable sable = db.Sqlable().Form <list>("g");//查询表的sqlable对象

            return(sable);
        }
示例#13
0
 /// <summary>
 /// OrderBy
 /// </summary>
 /// <param name="orderBy">排序字段,可以多个</param>
 /// <returns></returns>
 public ISqlable OrderBy(string orderBy)
 {
     sqlable = sqlable.OrderBy(orderBy);
     return(this);
 }
示例#14
0
 /// <summary>
 /// Where
 /// </summary>
 /// <param name="where">查询条件、开头无需写 AND或者WHERE</param>
 /// <returns></returns>
 public ISqlable Where(string where)
 {
     sqlable = sqlable.Where(where);
     return(this);
 }
示例#15
0
 /// <summary>
 /// Join
 /// </summary>
 /// <param name="shortName">表名简写</param>
 /// <param name="leftFiled">join左边连接字段</param>
 /// <param name="rightFiled">join右边连接字段</param>
 /// <param name="type">join类型</param>
 /// <returns></returns>
 public ISqlable Join <T>(string shortName, string leftFiled, string rightFiled, JoinType type)
 {
     sqlable = sqlable.Join <T>(shortName, leftFiled, rightFiled, (SqlSugar.JoinType)(int) type);
     return(this);
 }
示例#16
0
 /// <summary>
 /// Form
 /// </summary>
 /// <param name="shortName">表名简写</param>
 /// <returns></returns>
 public ISqlable From <T>(string shortName)
 {
     sqlable = sqlable.From <T>(shortName);
     return(this);
 }
示例#17
0
 /// <summary>
 /// Form
 /// </summary>
 /// <param name="tableName">表名</param>
 /// <param name="shortName">表名简写</param>
 /// <returns></returns>
 public ISqlable From(string tableName, string shortName)
 {
     sqlable = sqlable.From(tableName, shortName);
     return(this);
 }
示例#18
0
        /// <summary>
        /// 处理SQL条件
        /// </summary>
        /// <param name="orderInfoQuery"></param>
        /// <param name="pars"></param>
        /// <returns></returns>
        private string HandleQueryBySqlable(OrderInfoQuery orderInfoQuery, out object pars)
        {
            Dictionary <string, object> paramsDictionary = new Dictionary <string, object>();
            var sqlTable = new Sqlable();

            sqlTable.Sql = new StringBuilder();

            if (!string.IsNullOrWhiteSpace(orderInfoQuery.Buyers))
            {
                sqlTable = sqlTable.Where("buyers_name = @Buyers");
                paramsDictionary.Add("Buyers", orderInfoQuery.Buyers);
            }
            if (!string.IsNullOrWhiteSpace(orderInfoQuery.BuyersPhone))
            {
                sqlTable = sqlTable.Where("buyers_phone = @BuyersPhone");
                paramsDictionary.Add("BuyersPhone", orderInfoQuery.BuyersPhone);
            }
            if (!string.IsNullOrWhiteSpace(orderInfoQuery.OrderNumber))
            {
                sqlTable = sqlTable.Where("order_number = @OrderNumber");
                paramsDictionary.Add("OrderNumber", orderInfoQuery.OrderNumber);
            }
            if (!string.IsNullOrWhiteSpace(orderInfoQuery.WaybillNumber))
            {
                sqlTable = sqlTable.Where("waybill_number = @WaybillNumber");
                paramsDictionary.Add("WaybillNumber", orderInfoQuery.WaybillNumber);
            }
            if (!string.IsNullOrWhiteSpace(orderInfoQuery.OtherOrderNumber))
            {
                sqlTable = sqlTable.Where("other_transaction_code = @OtherOrderNumber");
                paramsDictionary.Add("OtherOrderNumber", orderInfoQuery.OtherOrderNumber);
            }

            if (orderInfoQuery.IsUse.HasValue)
            {
                sqlTable = sqlTable.Where("is_use = @IsUse");
                paramsDictionary.Add("IsUse", orderInfoQuery.IsUse);
            }

            if (orderInfoQuery.IsCompleteComment.HasValue)
            {
                sqlTable = sqlTable.Where("is_complete_comment = @IsCompleteComment");
                paramsDictionary.Add("IsCompleteComment", orderInfoQuery.IsCompleteComment);
            }

            if (orderInfoQuery.OrderType.HasValue)
            {
                sqlTable = sqlTable.Where("order_type = @OrderType");
                paramsDictionary.Add("OrderType", (int)orderInfoQuery.OrderType.Value);
            }

            if (orderInfoQuery.OrderRightsStatus.HasValue)
            {
                sqlTable = sqlTable.Where("rights_status = @OrderRightsStatus");
                paramsDictionary.Add("OrderRightsStatus", (int)orderInfoQuery.OrderRightsStatus.Value);
            }

            if (orderInfoQuery.OrderLogisticsMode.HasValue)
            {
                sqlTable = sqlTable.Where("logistics_type = @OrderLogisticsMode");
                paramsDictionary.Add("OrderLogisticsMode", (int)orderInfoQuery.OrderLogisticsMode.Value);
            }


            if (orderInfoQuery.OrderInfoStatus.HasValue)
            {
                sqlTable = sqlTable.Where("status = @Status");
                paramsDictionary.Add("Status", (int)orderInfoQuery.OrderInfoStatus.Value);
            }

            if (orderInfoQuery.OrderPayType.HasValue)
            {
                sqlTable = sqlTable.Where("pay_type = @PayType");
                paramsDictionary.Add("PayType", (int)orderInfoQuery.OrderPayType.Value);
            }

            if (orderInfoQuery.RealPriceLowerLimit.HasValue)
            {
                sqlTable = sqlTable.Where("real_price >= @RealPriceLowerLimit");
                paramsDictionary.Add("RealPriceLowerLimit", orderInfoQuery.RealPriceLowerLimit);
            }
            if (orderInfoQuery.RealPriceUpperLimit.HasValue)
            {
                sqlTable = sqlTable.Where("real_price <= @RealPriceUpperLimit");
                paramsDictionary.Add("RealPriceUpperLimit", orderInfoQuery.RealPriceUpperLimit);
            }

            if (orderInfoQuery.OrderTimeLowerLimit.HasValue)
            {
                sqlTable = sqlTable.Where("dete_created >= @OrderTimeLowerLimit");
                paramsDictionary.Add("OrderTimeLowerLimit", orderInfoQuery.OrderTimeLowerLimit.Value);
            }
            if (orderInfoQuery.OrderTimeUpperLimit.HasValue)
            {
                sqlTable = sqlTable.Where("dete_created <= @OrderTimeUpperLimit");
                paramsDictionary.Add("OrderTimeUpperLimit", orderInfoQuery.OrderTimeUpperLimit.Value);
            }

            pars = paramsDictionary;

            foreach (var item in sqlTable.Where)
            {
                sqlTable.Sql.Append(item);
            }
            return(sqlTable.Sql.ToString().TrimStart(" AND".ToCharArray()));
        }
示例#19
0
 /// <summary>
 /// Join
 /// </summary>
 /// <param name="tableName">表名字符串</param>
 /// <param name="shortName">表名简写</param>
 /// <param name="leftFiled">join左边连接字段</param>
 /// <param name="rightFiled">join右边连接字段</param>
 /// <param name="type">join类型</param>
 /// <returns></returns>
 public ISqlable Join(string tableName, string shortName, string leftFiled, string rightFiled, JoinType type)
 {
     sqlable = sqlable.Join(tableName, shortName, leftFiled, rightFiled, (OracleSugar.JoinType)(int) type);
     return(this);
 }
示例#20
0
        /// <summary>
        /// 接近Sql的编程模式
        /// </summary>
        private void SqlableDemo()
        {
            using (var db = SugarDao.GetInstance())
            {
                //---------Sqlable,创建多表查询---------//

                //多表查询
                List <School> dataList = db.Sqlable()
                                         .From("school", "s")
                                         .Join("student", "st", "st.id", "s.id", JoinType.INNER)
                                         .Join("student", "st2", "st2.id", "st.id", JoinType.LEFT)
                                         .Where("s.id>100 and s.id<@id")
                                         .Where("1=1")//可以多个WHERE
                                         .OrderBy("id")
                                         .SelectToList <School /*新的Model我这里没有所以写的School*/>("st.*", new { id = 1 });

                //多表分页
                List <School> dataPageList = db.Sqlable()
                                             .From("school", "s")
                                             .Join("student", "st", "st.id", "s.id", JoinType.INNER)
                                             .Join("student", "st2", "st2.id", "st.id", JoinType.LEFT)
                                             .Where("s.id>100 and s.id<100")
                                             .SelectToPageList <School>("st.*", "s.id", 1, 10);

                //多表分页WHERE加子查询
                List <School> dataPageList2 = db.Sqlable()
                                              .From("school", "s")
                                              .Join("student", "st", "st.id", "s.id", JoinType.INNER)
                                              .Join("student", "st2", "st2.id", "st.id", JoinType.LEFT)
                                              .Where("s.id>100 and s.id<100 and s.id in (select 1 )" /*这里面写子查询都可以*/)
                                              .SelectToPageList <School>("st.*", "s.id", 1, 10);



                //--------转成List Dynmaic 或者 Json-----//

                //不分页
                var list1 = db.Sqlable().From("student", "s").Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER).SelectToDynamic("*", new { id = 1 });
                var list2 = db.Sqlable().From("student", "s").Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER).SelectToJson("*", new { id = 1 });
                var list3 = db.Sqlable().From("student", "s").Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER).SelectToDataTable("*", new { id = 1 });

                //分页
                var list4 = db.Sqlable().From("student", "s").Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER).SelectToPageDynamic("s.*", "l.id", 1, 10, new { id = 1 });
                var list5 = db.Sqlable().From("student", "s").Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER).SelectToPageTable("s.*", "l.id", 1, 10, new { id = 1 });
                var list6 = db.Sqlable().From("student", "s").Join("school", "l", "s.sch_id", "l.id and l.id=@id", JoinType.INNER).SelectToPageDynamic("s.*", "l.id", 1, 10, new { id = 1 });


                //--------拼接-----//
                Sqlable sable = db.Sqlable().From <Student>("s").Join <School>("l", "s.sch_id", "l.id", JoinType.INNER);
                string  name  = "a";
                int     id    = 1;
                if (!string.IsNullOrEmpty(name))
                {
                    sable = sable.Where("s.name=@name");
                }
                if (!string.IsNullOrEmpty(name))
                {
                    sable = sable.Where("s.id=@id or s.id=100");
                }
                if (id > 0)
                {
                    sable = sable.Where("l.id in (select top 10 id from school)");//where加子查询
                }
                var pars      = new { id = id, name = name };
                int pageCount = sable.Count(pars);
                var list7     = sable.SelectToPageList <Student>("s.*", "l.id desc", 1, 20, pars);
            }
        }
示例#21
0
 /// <summary>
 /// GroupBy
 /// </summary>
 /// <param name="groupBy">GroupBy字段,可以多个</param>
 /// <returns></returns>
 public ISqlable GroupBy(string groupBy)
 {
     sqlable = sqlable.GroupBy(groupBy);
     return(this);
 }