J'ai une application WinForms qui interagit avec une base de données locale SqlCe. Je gère les opérations db à l'aide de BindingSources, TableAdapters et des datasets typés. J'ai plusieurs opérations dispersées à travers plusieurs méthodes dans deux classes différentes que je dois effectuer dans une transaction et je pensais à utiliser System.Transactions.Transaction ou CommitableTransaction. Ma question est, serait transaction ou travail CommittableTransaction avec succès dans une transaction et rollback une erreur dans ce code exemple ou dois-je utiliser aussi transaction AutreClasse méthodes trop ?:Transactions avec un jeu de données typé et un serveur SQL Server CE
OtherClass othercls = new OtherClass();
...
private void DoAll()
{
/* begin transaction here */
this.tableAdapter.DoSomeDBWork();
othercls.DeleteSomeRecords(); //uses tableadapter+sql code to delete. throws exception on error. doesn't have transaction
othercls.DeletOtherRecords(); //uses tableAdapter.Rows.Find(id).Delete(). throws exception on error. doesn't have transaction
othercls.Update(); //uses tableadapter.Update(). throws exception on error. doesn't have transaction
this.DeleteSomeFiles(); //throws exception on fail
/* end transaction here */
}