Esempio n. 1
0
        /// <summary>
        /// 解析表达式
        /// </summary>
        /// <param name="re">当前解析对象</param>
        /// <param name="exp">要解析的表达式</param>
        /// <param name="db">数据库访问对象</param>
        public void ResolveExpression(ResolveExpress re, Expression exp, SqlSugarClient db)
        {
            DB = db;
            //初始化表达式
            Init(re, exp);

            //设置PageSize
            foreach (var par in Paras)
            {
                SqlSugarTool.SetParSize(par);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// 初始化表达式
 /// </summary>
 /// <param name="re"></param>
 /// <param name="exp"></param>
 private void Init(ResolveExpress re, Expression exp)
 {
     ResolveExpress.MemberType type = ResolveExpress.MemberType.None;
     //解析表达式
     this.SqlWhere = string.Format(" AND {0} ", re.CreateSqlElements(exp, ref type, true));
     //还原bool值
     foreach (var item in ConstantBoolDictionary)
     {
         if (this.SqlWhere.IsValuable())
         {
             this.SqlWhere = this.SqlWhere.Replace(item.Key.ToString(), item.ConditionalValue);
         }
     }
 }