/// <summary>
        ///
        /// </summary>
        /// <param name="dataField"></param>
        /// <param name="action"></param>
        public void IfExists(string dataField, Action <SqlClauseBuilderItemIUW> action)
        {
            if (action != null)
            {
                SqlClauseBuilderItemIUW builderItem = (SqlClauseBuilderItemIUW)this.Find(item => ((SqlClauseBuilderItemIUW)item).DataField == dataField);

                if (builderItem != null)
                {
                    action(builderItem);
                }
            }
        }
        /// <summary>
        /// 添加一个构造项
        /// </summary>
        /// <typeparam name="T">数据的类型</typeparam>
        /// <returns>返回这个Builder自己,便于编写连续AppendItem语句,例如b.AppendItem(...).AppendItem(...)</returns>
        /// <param name="dataField">Sql语句中的字段名</param>
        /// <param name="data">操作的数据</param>
        /// <param name="op">操作运算符</param>
        /// <param name="isExpression">操作的数据是否是表达式</param>
        public virtual TBuilder AppendItem <T>(string dataField, T data, string op, bool isExpression)
        {
            SqlClauseBuilderItemIUW item = (SqlClauseBuilderItemIUW)CreateBuilderItem();

            item.DataField    = dataField;
            item.IsExpression = isExpression;
            item.Operation    = op;
            item.Data         = data;

            List.Add(item);

            return((TBuilder)this);
        }