如何将行从一个DataTable复制到另一个?使用 DataTable.Copy()
不是一个选项,因为这会创建一个新的DataTable并删除任何现有的DataRows . 我要做的是将 List<DataTable>
中的行添加到另一个表中 . 是否有一些方法可以做到这一点?或者是遍历所有表和行并调用 DataTable.ImportRow()
我唯一的选择?
[更新]好的,这是完整的方案 . 我有一个包含200万条记录的DataTable . 加载它会抛出 System.OutOfMemoryException
. 所以,我决定我需要页面/批量加载它 . 我正在使用 DataAdapter.FillSchema()
创建目标表,仅用于加载列 . 之后,我使用 DataAdapter.Fill()
(另一个DataTable)获取'full records',然后将其拆分为 List<DataTable>
. 使用 DataTable.Merge
时,抛出此异常:"Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints."
1 回答
我尝试合并迈克尔用以下代码说,它为我工作 .