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 關注
- 238 瀏覽
添加回答
舉報