2009-06-01 98 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对象被实例化。

相关问题