/// <summary> /// 构造不包含数据的Sql(即SqlSchema)。 /// </summary> /// <param name="sqls">Sql语句对象集合。</param> /// <param name="context">Sql构造的上下文信息。</param> public override SqlStatementCollection BuildTableSqlSchema(SqlBuildingContext context) { if (context == null) { throw new ArgumentNullException("SelectSqlBuildStrategy.BuildTableSqlSchema"); } var sqls = new SqlStatementCollection(); var selectStatement = SQLStatementFactory.CreateSqlStatement(SqlStatementType.Select, context.DbType) as SelectSqlStatement; selectStatement.SqlBuildingInfo.DataSource = context.DataSource; //Parsing main part of query SQL statement BuildMainFrom(selectStatement, context.CommonObject, context.Node, context.DataObject, context.TableName, context); //Parsing query fields list BuildQueryFieldList(selectStatement, context.Node, context.DataObject); //Parsing inner join clause BuildMainInnerJoin(selectStatement, context); sqls.Add(selectStatement); sqls.ShardingInfo = context.RouteInfo; return(sqls); }
/// <summary> /// 构造不包含数据的Sql(即SqlSchema)。 /// </summary> /// <param name="sqls">Sql语句对象集合。</param> /// <param name="context">Sql构造的上下文信息。</param> public override SqlStatementCollection BuildTableSqlSchema(SqlBuildingContext context) { if (context == null) { throw new ArgumentNullException("UpdateSqlBuildStrategy.BuildTableSqlSchema"); } var sqls = new SqlStatementCollection(); var updateStatement = SQLStatementFactory.CreateSqlStatement(SqlStatementType.Update, context.DbType) as UpdateSqlStatement; updateStatement.SqlBuildingInfo.DataSource = context.DataSource; base.HandlingSqlStatement(updateStatement, context); sqls.Add(updateStatement); return(sqls); }
/// <summary> /// 构造不包含数据的Sql(即SqlSchema)。 /// </summary> /// <param name="sqls">Sql语句对象集合。</param> /// <param name="context">Sql构造的上下文信息。</param> public override SqlStatementCollection BuildTableSqlSchema(SqlBuildingContext context) { if (context == null) { throw new ArgumentNullException("InsertSqlBuilder.BuildTableSqlSchema"); } var sqls = new SqlStatementCollection(); var insertStatement = SQLStatementFactory.CreateSqlStatement(SqlStatementType.Insert, context.DbType) as InsertSqlStatement; base.HandlingSqlStatement(insertStatement, context); HandlingInsertFields(insertStatement, context); insertStatement.SqlBuildingInfo.DataSource = context.DataSource; sqls.Add(insertStatement); return(sqls); }
/// <summary> /// 构造不包含数据的Sql(即SqlSchema)。 /// </summary> /// <param name="sqls">Sql语句对象集合。</param> /// <param name="context">Sql构造的上下文信息。</param> public override SqlStatementCollection BuildTableSqlSchema(SqlBuildingContext context) { if (context == null) { throw new ArgumentNullException("DeleteSqlBuildStrategy.BuildTableSqlSchema"); } var sqls = new SqlStatementCollection(); //构造DeleteSql var sql = SQLStatementFactory.CreateSqlStatement(SqlStatementType.Delete, context.DbType) as DeleteSqlStatement; base.HandlingSqlStatement(sql, context); //构造DeleteSql的删除过滤条件 this.HandlingJoin(sql, context); sqls.Add(sql); return(sqls); }