Esempio n. 1
0
        /// <summary>
        /// 设置跳过行数
        /// </summary>
        /// <param name="count">跳过的行数</param>
        /// <returns></returns>
        public ISqlBuilder Skip(int count)
        {
            var param = GetOffsetParam();

            ParameterManager.Add(param, count);
            return(this);
        }
Esempio n. 2
0
        /// <summary>
        /// 获取Where语句
        /// </summary>
        /// <returns></returns>
        public virtual string GetWhere()
        {
            var whereClause = WhereClause.Clone(AliasRegister, ParameterManager.Clone());

            AddFilters(whereClause);
            return(whereClause.ToSql());
        }
Esempio n. 3
0
        /// <summary>
        /// 设置获取行数
        /// </summary>
        /// <param name="count">获取的行数</param>
        /// <returns></returns>
        public ISqlBuilder Take(int count)
        {
            var param = GetLimitParam();

            ParameterManager.Add(param, count);
            Pager.PageSize = count;
            return(this);
        }
Esempio n. 4
0
        /// <summary>
        /// 获取限制行数的参数名
        /// </summary>
        /// <returns></returns>
        protected string GetLimitParam()
        {
            if (string.IsNullOrWhiteSpace(LimitParam) == false)
            {
                return(LimitParam);
            }

            LimitParam = ParameterManager.GenerateName();
            return(LimitParam);
        }
Esempio n. 5
0
        /// <summary>
        /// 获取跳过行数的参数名
        /// </summary>
        /// <returns></returns>
        protected string GetOffsetParam()
        {
            if (string.IsNullOrWhiteSpace(OffsetParam) == false)
            {
                return(OffsetParam);
            }

            OffsetParam = ParameterManager.GenerateName();
            ParameterManager.Add(OffsetParam, 0);
            return(OffsetParam);
        }
Esempio n. 6
0
 /// <summary>
 /// 获取参数
 /// </summary>
 /// <returns></returns>
 public IReadOnlyDictionary <string, object> GetParams()
 {
     return(ParameterManager.GetParams());
 }
Esempio n. 7
0
 /// <summary>
 /// 添加Sql参数
 /// </summary>
 /// <param name="name">参数名</param>
 /// <param name="value">参数值</param>
 public void AddParam(string name, object value)
 {
     ParameterManager.Add(name, value);
 }
Esempio n. 8
0
 /// <summary>
 /// 初始化一个<see cref="ParameterManager"/>类型的实例
 /// </summary>
 /// <param name="parameterManager">参数管理器</param>
 protected ParameterManager(ParameterManager parameterManager)
 {
     _params     = new Dictionary <string, object>(parameterManager._params);
     _paramIndex = parameterManager._paramIndex;
     _dialect    = parameterManager._dialect;
 }