2010-04-23 33 views
1

Existe-t-il un moyen de placer un attribut dans une méthode afin que le code entier de la méthode soit exécuté dans une étendue de transaction? J'ai vu ceci fait dans l'architecture pointue mais j'utilise Linq pour sql pas nhibernate. Merci!Gestion du contexte de la transaction à l'aide de l'attribut method de linq to sql

Ce que je voudrais faire:

[Transaction] 
public void InsertCustomer(Customer customer) 
{ //insert customer } 

Alors que le corps de la méthode exécute dans un champ de transaction.

Répondre

1

Quelle méthode? Si vous voulez dire SubmitChanges, alors je crois qui est déjà transactionnel. Autrement, faites tourner votre propre TransactionScope autour de ce que vous voulez contrôler, ou transmettez une connexion configurée au constructeur surchargé DataContext.

+0

Merci pour votre réponse, j'ai mis à jour mon message pour vous montrer ce que je voudrais faire. – ryudice

+0

@ryudice - pas AFAIK, mais l'insertion elle-même (via 'SubmitChanged') devrait déjà être transactionnelle (lancer une trace). –