【发布时间】:2009-06-24 20:40:47
【问题描述】:
我有一个使用 SqlServer CE 3.5 作为数据库的 WinForm 应用程序。我使用类型化的数据集查询进行数据库操作。我需要为此操作使用事务。问题是,它们分散在不同的程序集中。我的问题是,我应该用什么来在一个事务中运行所有这些?这是一个示例操作:
//transaction should start here
this.QueryDb();
MyOtherAssembly.myClass.QueryDbForSomethingElse();
System.IO.File.Delete(fileName);
//end transaction
我正在考虑使用TransactionScope,但在这种情况下它会起作用吗?我的意思是如果File.Delete() 失败,QueryDbForSomethingElse() 会回滚吗?我应该将Transaction.Current 或Transaction.Current.DependentClone(DependentCloneOption.BlockCommitUntilComplete) 作为参数传递给它并使用传递的参数在那里创建一个新事务吗?
我将不胜感激。
【问题讨论】:
标签: .net winforms transactions sql-server-ce strongly-typed-dataset