Устаревшее приложение копирует 100K записей в одну DataTable
в другую, например:
For index = 0 To dataTable.Rows.Count() - 1
Dim column1 = CType(dataTable.Rows(index).Item("column1"), Integer)
Dim column2 = CType(dataTable.Rows(index).Item("column2"), Integer)
Dim column3 = CType(dataTable.Rows(index).Item("column3"), Integer)
Dim dataRow = ds.Tables("MyTable").NewRow
dataRow("column1") = column1
dataRow("column2") = column2
dataRow("column3") = column3
ds.Tables("MyTable").Rows.Add(dataRow)
Next
Это кажется очень медленным, поскольку нам нужно повторить 100K раз и добавить новую строку. Существуют ли какие-либо. NET API-интерфейсы для массового копирования строк, чтобы уменьшить время, необходимое для копирования всего? Источник DataTable
имеет гораздо больше столбцов, тогда как пункт назначения является подмножеством. Мы могли бы реорганизовать код, чтобы использовать только исходный код, но это сложное приложение, и для него потребуется регрессионное тестирование, поскольку исходные и конечные таблицы являются глобальными переменными и используются во многих местах.