gpt4 book ai didi

c# - 在 BeginTransaction() 之后传递 IDbConnection

转载 作者:行者123 更新时间:2023-11-29 20:22:39 25 4
gpt4 key购买 nike

我有一些按顺序调用的方法,它们都按顺序对 MySQL 数据库执行查询:

UpdateInvoice() - > UpdateOrderItems(connection)
|---------- > UpdateGrandTotal(connection)
|---------- > UpdateAdvances(connection)

我有一个用于连接和事务的使用 block ,如下所示:

using (var connection = ConnectionManager.GetConnection()){
using (var transaction = connection.BeginTransaction(){
UpdateOrderItems(connection)
UpdateGrandTotal(connection)
UpdateAdvances(connection)
}
}

我的问题是,一旦我从connection.BeginTransaction()创建了一个事务,我是否需要传递事务对象以使其原子地工作?据我所知,自从连接上调用BeginTransaction()以来,它就处于事务模式,并且单个连接一次只能有一个事务。

我是不是搞错了什么?

附注我正在使用 dapper 在这些方法中执行查询

最佳答案

每个连接只能有 1 个事务(如果您想知道,无论隔离级别如何)。但是,您可以使用 System.Transactions.TransactionScope 嵌套多个事务。

我希望这能带来一些启发。

关于c# - 在 BeginTransaction() 之后传递 IDbConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39452241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com