import{_ as n,o as s,c as a,a as e}from"./app-4f4af2d5.js";const t={},p=e(`
注意
1、函数必须是 virtual 事务特性才能起作用。
2、[Transactional] 特性默认读取 AdminDbContext 如何其他 DbContext 请指定 DbContextType。
[Transactional]
public virtual async Task SaveFormAsync(SysUserFormDto form)
{
// 你的业务逻辑 CRUD ...
}
[Transactional(typeof(AdminDbContext),...)]
public virtual async Task SaveFormAsync(SysUserFormDto form)
{
// 你的业务逻辑 CRUD ...
}
public async Task SaveFormAsync(SysUserFormDto form)
{
// 创建事务对象
using var tr = await _defaultRepository.UnitOfWork.BeginTransactionAsync();
try
{
// 你的业务逻辑 CRUD ...
}
catch (Exception)
{
// 回滚事务
await tr.RollbackAsync();
throw;
}
finally
{
// 提交事务
await tr.CommitAsync();
}
}
// 开启延迟提交
_defaultRepository.UnitOfWork.CommitDelayStart();
// 你的业务逻辑 CRUD ...
// 结束延迟提交
_defaultRepository.UnitOfWork.CommitDelayEnd();