为了提供恢复已在数据库表中发生的更改的能力,我在Clone()
大量更改之前创建了一个 DataTable。在决定取消更改之前,用户可以查看多个表单。在流程结束时,如果他们选择取消,我想将 Clone() 的数据更新回数据库。我不确定删除已添加的行然后添加回原来的 Clone()'d 行或更新计划更新的行是否有意义?似乎如果我要更新原始行,我将不得不循环将行从克隆复制到原始行?还是有其他方法?
// Clone the original data
cloneDataTable = origDataTable.Clone();
cloneDataTable.ImportRow(dataRow);
// Later in the process, if I need to delete the row
dataRow.Delete();
tableAdapter.Update(dataRow);
// I was considering that I could add the cloned row back in this fashion
origDataTable.ImportRow(cloneDataTable.Rows[0]);
tableAdapter.Update(dataRow);
我可能对这个问题感到困惑,但我基本上是在寻找一种简单有效的方法,在已经执行了一系列插入/更新之后将最初的 Clone() 数据恢复回数据库。
理想情况下,我想执行更新,因为数据库插入会导致我想避免的序列值增加。
感谢您的帮助,如有必要,请寻求任何澄清。