public InsertCommandContext(SchemaMetaData schemaMetaData, ParameterContext parameterContext, InsertCommand insertCommand) : base(insertCommand) { _tablesContext = new TablesContext(insertCommand.Table); _columnNames = insertCommand.UseDefaultColumns() ? schemaMetaData.GetAllColumnNames(insertCommand.Table.GetTableName().GetIdentifier().GetValue()) : insertCommand.GetColumnNames(); _insertValueContexts = GetInsertValueContexts(parameterContext); _generatedKeyContext = new GeneratedKeyContextEngine(schemaMetaData).CreateGenerateKeyContext(parameterContext, insertCommand); }
private void AppendGeneratedKeyCondition(GeneratedKeyContext generatedKey, string tableName, ICollection <ShardingCondition> shardingConditions) { var enumerator = generatedKey.GetGeneratedValues().GetEnumerator(); foreach (var shardingCondition in shardingConditions) { shardingCondition.RouteValues.Add(new ListRouteValue(generatedKey.GetColumnName(), tableName, new List <IComparable>() { enumerator.Next() })); } }