Restaurer un appel de procédure stockée à partir d'une transaction à l'aide de LINQ-to-SQL?
J'ai un C#.net winform programme qui fonctionne avec une base de données SQL Server. Je suis à l'aide de LINQ-to-SQL. Est-il possible d'annuler l'appel à l'une ou plusieurs des procédures stockées à l'intérieur d'une transaction à l'intérieur de mon programme à l'aide de LINQ-to-SQL?
Au départ, j'ai pensé qu'il serait logique pour la gestion de la transaction à l'intérieur de la procédure stockée, mais si j'ai besoin de restauration de plus d'un appel de procédure stockée dans le cadre d'une seule opération, il devra être fait dans mon programme C#.
Quelqu'un peut-il m'indiquer un extrait de code sur la façon de faire ou de fournir un aperçu d'une alternative?
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Une autre alternative à
DbTransaction
estTransactionScope
- ce une façon beaucoup plus simple, le modèle de programmation, et est extensible à plusieurs simultanément, les bases de données et autres aliments du bétail (par l'intermédiaire de la DTC) - mais au prix d'une petite quantité de surcharge sur la connexion. Il sert à être plus généraux, mais en vertu de SQL2005 etc il va utiliser la "LTM" jusqu'à ce que vous commencez couvrant de multiples connexions - donc, une seule opération est généralement très bon marché:Très simple ;-p
Vous devez également être en mesure de rendre la transaction plus granulaire (plus que quelques requêtes) ou plusieurs englobant très simplement. La plupart du code existant va automatiquement s'enrôler dans l'étendue de la transaction, ce qui rend très facile à intégrer dans le code existant.
Pour plus d'info sur TransactionScope (et en général les transactions .NET), voir ici.
Bien que je ne suis pas stockées procs, vous coudl quelque chose comme cela: