Bonjour,
Je rencontre un petit problème conceptuel. J'essaie de développer un petit programme basé sur une architecture 3 tiers (DAL, BLL, IU).
Dans ma DAL j'ai 2 methodes : LoadArticle(IdArticle) et LoadNomenclature(IdArticle).
LoadArticle va lire les données de la table
Articles et LoadNomenclature va lire les données de la table
Nomenclatures suivant l'IdArticle passé en paramètre.
Dans ma BLL j'ai une méthode ChargerArticle(IdArticle) qui fait appel aux 2 méthodes de ma DAL.
1 2 3 4 5 6
|
BLL.ChargerArticle(IdArticle)
[BeginTransaction]
DAL.ChargerArticle(IdArticle)
DAL.ChargerNomenclature(IdArticle)
[Commit] |
J'aimerai regrouper les 2 méthodes de ma DAL au sein d'une même transaction.
Le problème c'est que je ne sais pas comment m'y prendre.
L'objet Transaction s'appuie sur l'objet Connection mais la connexion n'existe que dans la DAL.
Donc comment faire pour débuter une transaction dans la BLL? Si la connexion doit être géré par la BLL on introduit alors un élément de la DAL, ce qui n'est pas forcément recommandé.
Quelles sont les bonnes pratiques à appliquer dans ce cas?
D'avance merci pour votre aide.
Partager