public SqlTextCommandAdapter(SqlPersistenceConnection connection, SqlTextCommand command) : base(connection, command) { this.SqlCommand = new SqlCommand(command.CommandText); this.SqlCommand.CommandType = command.CommandType; foreach (PersistenceParameter param in command.Parameters.Values) { var p = new SqlParameter() { ParameterName = param.Name, Value = param.Value }; if (param.Options != null) { var options = (SqlPersistenceParameterOptions)param.Options; if (options.Size != null) { p.Size = options.Size.Value; } if (options.SqlDbType != null) { p.SqlDbType = options.SqlDbType.Value; } } this.SqlCommand.Parameters.Add(p); } }
internal SqlBulkAdapter(SqlPersistenceConnection connection, SqlBulkCommand action) : base(connection, action) { _bulk = new SqlBulkCopy(connection.DbConnection, action.BulkCopyOptions, null) { BatchSize = action.BatchSize, DestinationTableName = action.TableName }; _buffer = new DataTable("SqlBulkAdapter._buffer"); foreach (PersistenceParameter param in action.Parameters.Values) { var options = (SqlPersistenceParameterOptions)param.Options; var tableCol = new DataColumn(param.Name); if (options.Size != null) { tableCol.MaxLength = options.Size.Value; } _buffer.Columns.Add(tableCol); _bulk.ColumnMappings.Add(new SqlBulkCopyColumnMapping(param.Name, param.Name)); } }