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; }
/// <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 ); }
/// <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; }