【发布时间】:2013-07-18 08:24:03
【问题描述】:
MYSQL是否支持TransactionScope而不传递MySqlConnection对象作为参数? 还是仅适用于 MS SQL 2008 及更高版本?
例如:
public void Method()
{
using (var scope = new System.Transactions.TransactionScope())
{
Delete();
Insert();
Update();
scope.Complete();
}
}
public void Update()
{
using(MySqlConnection conn = new MySqlConnection())
{
// Update something in the Database
}
}
public void Insert()
{
using(MySqlConnection conn = new MySqlConnection())
{
// Insert something in the Database
}
}
public void Delete()
{
using(MySqlConnection conn = new MySqlConnection())
{
// Delete something from Database
}
}
还是应该使用 MySqlConnection conn 对象作为参数?
public void Method()
{
using (var scope = new System.Transactions.TransactionScope())
{
using(MySqlConnection conn = new MySqlConnection())
{
Delete(conn);
Insert(conn);
Update(conn);
}
scope.Complete();
}
}
public void Update(MysqlConnection conn)
{
// Update something in the Database
}
public void Insert(MysqlConnection conn)
{
// Insert something in the Database
}
public void Delete(MysqlConnection conn)
{
// Delete something from Database
}
【问题讨论】:
-
有兴趣在不解析连接的情况下知道测试结果,第二个选项将起作用,但您可以尝试使用
cmd.Connection.EnlistTransaction(Transaction.Current);stackoverflow.com/questions/1893862/… 而不发送连接
标签: c# asp.net mysql transactions transactionscope