1 回答
TA贡献1858条经验 获得超8个赞
我想添加读取未提交的隔离级别。我知道可以使用 SQL 语句。
执行此操作的“标准”方法是使用MySqlConnection.BeginTransactionAPI:
using (var transaction = connection.BeginTransaction(IsolationLevel.ReadUncommitted))
{
// do stuff
transaction.Commit();
}
事务范围类是否适用于 MySQL
是的,MySQL Connector/NET 可以支持TransactionScope,但不支持分布式事务。这是一个已知的问题是连接器/ NET不支持XA事务TransactionScope。
如果要使用TransactionScope,则 MySQL Connector/NET 应继承其隔离级别:
var txOptions = new System.Transactions.TransactionOptions();
txOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;
using(var transaction = new TransactionScope(TransactionScopeOption.Required, txOptions))
using (var connection = new MySqlConnection("... connection string ..."))
{
connection.Open();
// ...
transaction.Complete();
}
如果您需要使用 支持真正的分布式事务TransactionScope,则切换到MySqlConnector作为您的 ADO.NET 驱动程序。与 Connector/NET 不同,它完全支持分布式事务。
- 1 回答
- 0 关注
- 193 浏览
添加回答
举报