存储DataSet对象,并在以后还原它

时间:2018-06-04 13:49:09

标签: .net sql-server ado.net s

我有一个使用SQL Server 2012的.NET 4.6应用程序。 我需要做一些像基于System.Data.DataSet的对象的“回滚”。

换句话说:在某些时刻,我必须存储对象包含的所有内容(数据方案,数据)。然后我必须恢复这一切。

嗯 - 实际上数据方案没有改变;所以任务简化为“如何存储DataSet对象的数据,然后恢复它们”。

我可以使用方法Copy(),Clear()和Merge()吗?

我需要所有这些来回滚并重复失败的数据库操作:

...

MyClassDerivedFromDataSet myDataSetObj;
<to fill myDataSetObj with data>;
….
<store myDataSetObj data to some myDataSetObjCopy>;
<a DB Transaction begins>;
<operation DbDataAdapter.Update(myDataSetObj, …). It puts myDataSetObj data to DB, then updates myDataSetObj with data returned from DB>;
<another operation DbDataAdapter.Update(myDataSetObj, …). It puts myDataSetObj data to DB, then updates myDataSetObj with data returned from DB>;
If <the operation above failed>
{
    <to rollback the Transaction>;
    <restore myDataSetObj data from myDataSetObjCopy>;
    <repeat the DbDataAdapter.Update(myDataSetObj, …) operations>
}

...

0 个答案:

没有答案