Example #1
0
            private IDbCommand ParseTemplate( TemplateExpression templateExpression )
            {
                var context = new ExcelTemplateParseContext();
                var commandText = templateExpression.Parse( context );

                throw new NotImplementedException();
            }
        private IDbCommand ParseTemplate( TemplateExpression template )
        {
            var command = CreateCommand();

              var context = new SqlTemplateParseContext();
              command.CommandText = template.Parse( context );

              foreach ( var p in context.GetParameters() )
            command.Parameters.Add( p );

              return command;
        }
Example #3
0
        /// <summary>
        /// 将多个 TemplateExpression 拼接在一起,并使用指定的 TemplateExpression 分隔
        /// </summary>
        /// <param name="separator">用于分隔各个 TemplateExpression 的字符串</param>
        /// <param name="expressions">要拼合的模板表达式</param>
        /// <returns></returns>
        public static TemplateExpression Join( TemplateExpression separator, params TemplateExpression[] expressions )
        {
            if ( expressions.Length == 0 )
            return null;

              if ( expressions.Length == 1 )
            return expressions[0];

              var set = new TemplateExpression[expressions.Length + expressions.Length - 1];
              for ( int i = 0; i < expressions.Length; i++ )
            set[i * 2] = expressions[i];

              for ( int i = 1; i < set.Length; i += 2 )
            set[i] = separator;

              return Concat( set );
        }
Example #4
0
 /// <summary>
 /// 设置要筛选的条件
 /// </summary>
 /// <param name="whereClause">要设置的筛选条件模版</param>
 /// <param name="parameters"></param>
 /// <returns></returns>
 public TableExpression Where( string whereClause, params object[] parameters )
 {
     _where = Template( whereClause, parameters );
       return this;
 }