在 transactionscope 中打开 sql 连接是否重要
我创建了一个 sqlconnection,CN1。然后这个CN1就打开了。稍后在代码中有一个事务范围。如果我在此 CN1 连接上执行 sql 命令,这是否在事务内?
代码如下所示;
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?
...
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
必须在 TransactionScope 内打开连接,以确保连接已注册到事务中。
这可以在 connection.Open 上方的注释中找到="nofollow noreferrer">这个 MSDN 示例。
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.