Я использую SqlBulkCopy для массовой вставки некоторых записей из одной таблицы в другую. Запрос использует SqlDataReader для получения данных. Единственное различие, которое имеет значение (помимо порядка столбцов, который обрабатывается в сопоставлениях) между таблицами, состоит в том, что в таблице назначения есть столбец даты, в который необходимо добавить текущую дату. Этой даты нет в исходной таблице. Как я могу добавить это в текущий процесс, который работает нормально, минус это?
Текущий рабочий код выглядит так:
SqlCommand cmd = new SqlCommand("SELECT * from dbo.source", cn);
SqlDataReader rdr = cmd.ExecuteReader();
using (SqlBulkCopy copy = new SqlBulkCopy(cn))
{
copy.ColumnMappings.Add(0, 0);
copy.ColumnMappings.Add(1, 2);
copy.ColumnMappings.Add(3, 3);
copy.ColumnMappings.Add(2, 4);
copy.ColumnMappings.Add(5, 5);
copy.ColumnMappings.Add(14, 6);
copy.DestinationTableName = "destination";
copy.WriteToServer(rdr);
}
БД sql 2008 ENT.