2009-05-13 8 views

答えて

3

接続ベースのトランザクション(IDbTransaction)では、全体のパフォーマンスはかなり似ていますが、.NETコードで処理することで、同じ接続で複数のデータベース操作を便利に行うことができます。 TSQL内でトランザクション管理を実行している場合は、実際には単一のTSQLクエリに限定する必要があります。初めと終わりに余分な往復があるかもしれませんが、それはあなたを傷つける可能性はありません。

(私自身のアプリケーションコードではなく)エージェント経由でサーバーから直接呼び出されたものを書いていた場合、TSQLベースのトランザクションを手作業で書くことはかなり珍しいことです。多くのためTransactions in .net参照IDbTransaction間及びTransactionScope

大きな差があるが、短いバージョンは、TransactionScopeが(状況に応じて)わずかに遅いが、複数の接続/データベース(または他のリソース)にまたがることができることです。

+0

ありがとうございましたMarc ...なぜ私はSQLストアドプロシージャでトランザクションを使用することができるのかIDbTransactionを使用する理由を知りたいです –

+0

IDbTransactionを複数のアトミック操作おそらくすでに存在している)。トランザクションがsprocの内部にある場合、それを行うことはできませんが、それが単なる接続ベースであれば実行できます。それはまた、懸念の角度の分離からも優れています:あなたはトランザクションの責任を、sprocから離れて行きます。仕事は、あるデータ(など)を更新することです。 –

関連する問題