通过 C# 使用 MySQL.Data,而不为事务建立 MySql 连接

问题描述 投票:0回答:1

这个问题与这个问题类似: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

c# mysql-connector mysql.data
1个回答
0
投票

文档没有说“避免创建 MySqlConnection 对象”作为一揽子规则。

它说:

  • “不要创建
    MySqlConnection
    的全局可访问实例,然后手动打开和关闭它。”这是个好建议。
  • “一种简化操作的方法是避免手动创建 MySqlConnection 对象。而是使用以连接字符串作为参数的重载方法。”这是对“可能”方法的建议,当专用 API 具有采用连接字符串并完成其工作的方法时,您可以使用该方法。
  • 但是,您没有
必须

那么做,而且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();

	
© www.soinside.com 2019 - 2024. All rights reserved.