Réitérer la déclaration de Philippe:
Les transactions sont traitées à un niveau inférieur lors de l'utilisation ADO.NET. Il n'y a pas d'instructions "BEGIN TRANSACTION" envoyées au serveur.
À un certain point, SQL doit être converti en appels réels. La plupart des ADO.NET (tous ceux avec lesquels j'ai travaillé) envoient souvent une commande spécifique aux bases de données BEGIN, COMMIT et ROLLBACK car l'envoi d'ASCII (ou autre) serait moins efficace que ce que le serveur devra analyser. C'est pourquoi l'envoi de requêtes paramétrées est souvent plus rapide que les requêtes SQL simples, car la bibliothèque peut envoyer des commandes spécifiques, ce qui réduit l'analyse et probablement la validation des données (?).
HTH!
Avez-vous réellement testé pour voir si la transaction fonctionne même si elle n'apparaît pas dans profiler (comme Philippe ne le suggère pas) – Jayden