我需要使用 ADO.NET 提供程序的事务。
下面是一个正在创建的连接、事务和命令的简单示例。当我使用创建命令connection.CreateCommand()
时,是否需要将事务分配给命令?或者,是否因为我正在使用connection.CreateCommand()
vs 更新命令对象而设置了事务?
var connection = Database.GetConnection();
connection.Open();
var transaction = connection.BeginTransaction();
var command = connection.CreateCommand();
command.Transaction = transaction; // Is this line needed when using connection.CreateCommand()?
*更新*
当我测试两个对象的引用时,它们是相同的。我假设这意味着connection.CreateCommand()
返回一个分配了事务的命令。或者这可能不是一个有效的测试。
using (var connection = Database.GetConnection())
{
connection.Open();
var transaction = connection.BeginTransaction();
var command = connection.CreateCommand();
if (object.ReferenceEquals(transaction, command.Transaction))
Debug.WriteLine("EQUAL");
}