gpt4 book ai didi

c# - 为什么Dapper在执行查询时需要对事务的引用?

转载 作者:行者123 更新时间:2023-12-03 16:16:22 32 4
gpt4 key购买 nike

只需看一下本教程:https://www.davepaquette.com/archive/2019/02/06/managing-transactions-in-dapper.aspx
我的理解(没有Dapper)是一旦建立连接,就可以打开一个事务,然后执行一堆语句,然后提交或回滚该事务。这些查询不需要引用事务,因为连接已经“知道”该事务。
那么,为什么Dapper每次执行某些操作时都需要事务?

最佳答案

Dapper不会改 rebase 本的ADO.NET模型的任何内容,因此,如果您未显式将事务传递给Dapper的情况下在事务中进行的操作失败,则这是ADO.NET,并且相同的操作也会失败没有Dapper的情况完全相同。 Dapper所做的全部工作就是在命令上设置Transaction属性。
或者换一种说法:我相信您的理解在这里是不正确的。我同意您的看法,但是您的理解和期望是合理的,并且我不知道命令甚至需要知道有关事务的任何充分理由,这最终是连接方面的问题。但是:我没有制定规则:/
请注意,可以在ADO.NET中使用“装饰器”模式(例如,使用mini-profiler进行此操作),因此从理论上讲,可以创建一个连接包装器来为您跟踪事务,并具有以下命令检索事务并在执行操作时自动附加它。如果您从mini-profiler的基本类型开始,则可能工作不多。

关于c# - 为什么Dapper在执行查询时需要对事务的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64620471/

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