开发者

Is it important to Open a sql connection in the transactionscope

开发者 https://www.devze.com 2022-12-15 05:11 出处:网络
I created a sqlconnection, CN1. Then this CN1 is opened. Later in the code there is a transactionscope. If I execute a sql command on this CN1 connection, is this within transaction?

I created a sqlconnection, CN1. Then this CN1 is opened. Later in the code there is a transactionscope. If I execute a sql command on this CN1 connection, is this within transaction?

Code look开发者_如何学编程s like this;

SqlConnection cn1 = new SqlConnection();
cn1.Open(); //connection opened when there is no ambient transaction.
...

using(TransactionScope scope = new TransactionScope())
{
  SqlCommand cmd; //a typical sql command.

  ...

  cmd.ExecuteNonQuery(); //Is this command within transaction?
  ...
}


It is a MUST to open the connection within the TransactionScope to ensure that the connection is enrolled in the transaction.

This is found in the comment just above the connection.Open in this MSDN example.


  1. No, command is not executed in transaction
  2. Open connection inside the scope or use EnlistTransaction method of SqlConnection instance. See my answer in different thread.
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号