2009-05-07 5 views
1

je dois assurer 2 appels sont enrôlés dans une transactionattribut scope de transaction dans VB.NET

 
Sub InsertOrder(order) 

...insert order header SQL 

....insert order items SQL (LOOP) 

End Sub 

Je sais que je peux y arriver via un champ de transaction, cependant, n'est pas là un « attribut » disponible pour cela?

 
Transaction.Scope()>_ 
Public Sub InsertOrder(order) 

End Sub 

Répondre

2

Il existe un attribut .NET pouvant être utilisé pour les transactions. Cependant, il est plus destiné aux transactions réparties sur plusieurs sources de données qui nécessitent une validation en deux phases. Les attributs font partie du système de «transaction de services d'entreprise». La méthode "classique" pour gérer une transaction SQL consistait à appeler les méthodes BeginTransaction(), Commit() et Rollback() de l'objet SqlConnection.

Il existe également le modèle System.Transactions basé sur l'instruction 'using' et un objet TransactionScope que vous avez mentionné.

Voir this link pour un résumé clair des différentes options.

Questions connexes