未设置Command的事务时的ADO.Net事务

时间:2013-05-26 16:35:09

标签: ado.net transactions

我在ADO.Net上看到了一个示例,其中正在执行事务而未设置命令的事务属性,如下面的代码所示。

这是可能的还是需要显式设置命令的事务属性?

// Start a local transaction.
SqlTransaction sqlTran = connection.BeginTransaction();

// Enlist a command in the current transaction.
 SqlCommand command = connection.CreateCommand();
-----
-----
sqlTran.Commit()

1 个答案:

答案 0 :(得分:1)

这应该抛出一个运行时异常。也就是说,如果您在SqlConnection上有一个活动事务,并且没有将对应SqlTransaction的引用分配给SqlCommand.Transaction属性并尝试执行该命令,那么您应该得到一个例外

简而言之,在与活动事务的连接上执行命令时,显式设置Transaction属性。