コード例 #1
0
        public override ResultSetMapping AppendInsertOperation(
            StringBuilder commandStringBuilder,
            ModificationCommand command,
            int commandPosition
            )
        {
            commandStringBuilder.ThrowIfNull(nameof(commandStringBuilder));
            command.ThrowIfNull(nameof(command));

            var name            = command.TableName;
            var schema          = command.Schema;
            var operations      = command.ColumnModifications;
            var writeOperations = operations.Where(o => o.IsWrite).ToList();
            var readOperations  = operations.Where(o => o.IsRead).ToList();

            AppendInsertCommand(commandStringBuilder, name, schema, writeOperations);

            if (readOperations.Count > 0)
            {
                var keyOperations = operations.Where(o => o.IsKey).ToList();

                return(AppendSelectAffectedAfterInsertCommand(commandStringBuilder, name, schema, readOperations, keyOperations));
            }

            return(ResultSetMapping.NoResultSet);
        }