Dapper 本身不管理事务,但可通过显式传入 IDbTransaction 参数在 ADO.NET 事务中执行查询与更新,需确保连接已打开、事务由该连接创建,并由开发者手动调用 Commit() 或 Rollback()。

Dapper 本身不管理事务,但可以配合 ADO.NET 的 SqlTransaction 在事务中执行查询。关键在于:**把已开启的事务显式传给 Dapper 的查询方法**。
使用 IDbTransaction 参数传入事务
Dapper 的所有查询方法(如 Query<t></t>、QueryFirstOrDefault、Execute 等)都支持可选的 IDbTransaction 参数。只要传入有效的事务对象,Dapper 就会在该事务上下文中执行 SQL。
- 确保连接(
IDbConnection)已打开,且事务由该连接开启 - 事务对象必须是同一连接创建的,跨连接传入会抛出异常
- 事务生命周期由你手动控制(
Commit()/Rollback()),Dapper 不参与提交或回滚
典型用法示例(SQL Server)
C# 示例:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~