2011-07-28 30 views

答えて

7
  1. SqlConnection.BeginTransaction
  2. DbConnection.BeginTransactionが一般的でありDbTransactionを作成し、データベース固有のトランザクションを作成するために、基礎となる接続に依存しているMS SQL Serverに固有である、SqlTransactionを作成します。 DbConnectionのタイプがSqlConnectionの場合、SqlTransactionとなります。
  3. DbConnection.BeginDbTransactionは、DbConnectionを継承する独自のクラスを作成する場合にオーバーライドする保護されたメソッドです。

EDIT:

これらは、すべてのデータベースに依存しないのTransactionScope、とは異なる使用され、それらが作成されたから、データベース接続、に固有のものです。複数の接続間でトランザクションを調整したい場合は、DbConnection.EnlistTransaction(transaction)を明示的に呼び出す必要があります。 TransactionScopeを使用すると、接続が開かれたときにTransactionScopeが存在する場合、自動的にTransactionScopeに登録されます(データベースプロバイダによっては少なくともそれに応じて)。 WCFでは、TransactionScopeをサービス境界を超えて渡すこともでき、複数のサービス呼び出しの結果を単一のトランザクションとしてコミットするために使用できます。

+1

説明をありがとう。これらをTransactionScope()と区別できますか?彼らの間に関係はありますか? – Baig

関連する問題