我在我的c#Winforms应用程序中使用DevForce Ideablade。我有一系列插入和更新,必须完全成功或失败。我真的不想这样做作为存储过程,所以我遇到了TranscactionScope类。
我可以使用TransactionScope对象将我的IdeaBlade调用包装到SaveChanges(),并在整个代码调用SaveChanges和最后调用scope.Complete成功提交事务基本上就像这样。
try{
using(TransactionScope scope = new TransactionScope())
{
// process code
entityManager.SaveChanges();
// process code
entityManager.SaveChanges();
// process code
entityManager.SaveChanges();
scope.Complete;
}
}
catch(TransactionAbortedException ex)
{
MessageBox.Show(ex.Message);
}