wanshenmean
4 天以前 64a2aa2301946f777659239247233e47ad1e3076
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using SqlSugar;
using System.Reflection;
 
namespace WIDESEAWCS_Core.BaseRepository
{
    public interface IUnitOfWorkManage
    {
        /// <summary>
        /// 获取SqlSugar数据库客户端实例
        /// </summary>
        /// <returns>SqlSugarClient数据库客户端对象</returns>
        SqlSugarClient GetDbClient();
 
        int TranCount { get; }
 
        /// <summary>
        /// 创建一个新的工作单元实例
        /// </summary>
        /// <returns>返回新创建的工作单元对象</returns>
        UnitOfWork CreateUnitOfWork();
 
        /// <summary>
        /// 开始一个事务
        /// </summary>
        void BeginTran();
 
        /// <summary>
        /// 开始一个事务
        /// </summary>
        /// <param name="method">触发事务的方法信息</param>
        void BeginTran(MethodInfo method);
 
        /// <summary>
        /// 开始一个事务,并执行提供的函数
        /// </summary>
        /// <param name="func">委托方法</param>
        /// <returns></returns>
        WebResponseContent BeginTran(Func<WebResponseContent> func);
 
        /// <summary>
        /// 提交当前事务
        /// </summary>
        void CommitTran();
 
        /// <summary>
        /// 提交事务
        /// </summary>
        /// <param name="method">触发提交事务的方法信息</param>
        void CommitTran(MethodInfo method);
 
        /// <summary>
        /// 回滚当前事务
        /// </summary>
        void RollbackTran();
 
        /// <summary>
        /// 回滚当前事务
        /// </summary>
        /// <param name="method">触发回滚的方法信息</param>
        void RollbackTran(MethodInfo method);
    }
}