这个问题与这个问题类似:Using MySql.Data with C# while not Making a MySqlConnection
基本上,我可以在文档中看到:https://dev.mysql.com/doc/connector-net/en/connector-net-connections-pooling.html它说要避免创建 MySqlConnection 对象,但是,它没有说明如何处理交易。
是否应该使用类似的 api,而不是创建此处详细介绍的 MySqlConnection 对象? https://dev.mysql.com/doc/dev/connector-net/latest/api/data_api/MySql.Data.MySqlClient.MySqlTransaction.html
文档没有说“避免创建 MySqlConnection 对象”作为一揽子规则。
它说:
MySqlConnection
的全局可访问实例,然后手动打开和关闭它。”这是个好建议。那么做,而且new MySqlConnection(connectionString)
也没有什么问题。
)显示了打开连接和启动事务的完全可接受的方式:
using MySqlConnection myConnection = new MySqlConnection(myConnString);
myConnection.Open();
// Start a local transaction
using MySqlTransaction myTrans = myConnection.BeginTransaction();
using MySqlCommand myCommand = myConnection.CreateCommand();
// do your work here...
myTrans.Commit();