2009-06-01 141 views

回答

25

實際上,有一種方法。

connection.EnlistTransaction(Transaction.Current) 

它的工作原理和它不促進交易,如果沒有必要的分佈(相反的是什麼文件說,到)

HTH

4

要將連接加入到TransactionScope中,您需要在其連接字符串中指定'Enlist=true'並在該TransactionScope對象的範圍內打開連接。

您可以在現有連接上使用SqlConnection.BeginTransaction

更新:您可以使用BeginTransaction這樣的:

using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
    connection.Open(); 

    SqlCommand command = connection.CreateCommand(); 
    SqlTransaction transaction; 

    // Start a local transaction. 
    transaction = connection.BeginTransaction("SampleTransaction"); 

    // Must assign both transaction object and connection 
    // to Command object for a pending local transaction 
    command.Connection = connection; 
    command.Transaction = transaction; 

    ... 
    ... 

} 
+0

的事情是,連接被提前TransactionScope的實例化開了。因此我的問題的原因。 – 2009-06-01 11:03:54

3

更多的研究後,回答我的問題竟然是:

沒有,連接需要後,被打開TransactionScope對象被實例化。

相關問題