:異なるBeginTransactionメソッドの違い。以下でBeginTransactionメソッドの違いは何
SqlConnection.BeginTransactionメソッド
DbConnection.BeginTransaction方法
DbConnection.BeginDbTransaction方法
はまた、 TransactionScope()とどのように違うのですか? System.Transactionのメソッド
:異なるBeginTransactionメソッドの違い。以下でBeginTransactionメソッドの違いは何
SqlConnection.BeginTransactionメソッド
DbConnection.BeginTransaction方法
DbConnection.BeginDbTransaction方法
はまた、 TransactionScope()とどのように違うのですか? System.Transactionのメソッド
SqlConnection.BeginTransaction
DbConnection.BeginTransaction
が一般的でありDbTransaction
を作成し、データベース固有のトランザクションを作成するために、基礎となる接続に依存しているMS SQL Serverに固有である、SqlTransaction
を作成します。 DbConnection
のタイプがSqlConnection
の場合、SqlTransaction
となります。DbConnection.BeginDbTransaction
は、DbConnection
を継承する独自のクラスを作成する場合にオーバーライドする保護されたメソッドです。EDIT:
これらは、すべてのデータベースに依存しないのTransactionScope、とは異なる使用され、それらが作成されたから、データベース接続、に固有のものです。複数の接続間でトランザクションを調整したい場合は、DbConnection.EnlistTransaction(transaction)
を明示的に呼び出す必要があります。 TransactionScopeを使用すると、接続が開かれたときにTransactionScopeが存在する場合、自動的にTransactionScopeに登録されます(データベースプロバイダによっては少なくともそれに応じて)。 WCFでは、TransactionScopeをサービス境界を超えて渡すこともでき、複数のサービス呼び出しの結果を単一のトランザクションとしてコミットするために使用できます。
説明をありがとう。これらをTransactionScope()と区別できますか?彼らの間に関係はありますか? – Baig
これらのMSDNのドキュメントは何を言いますか? – Oded