# 构造方法注入与获取对象实体

构造方法获取对象实例,比如数据库访问,业务类操作

# Controller中构造方法获取实例

 //在表的partial类构造方法获取对象
public partial class Sys_UserController
{
    private readonly ISys_UserService _userService;//访问业务代码
    private readonly IHttpContextAccessor _httpContextAccessor;
    private readonly ISys_UserRepository _userRepository;//访问数据库
    private readonly ICacheService _cacheService;

    [ActivatorUtilitiesConstructor]
    public Sys_UserController(
        ISys_UserService userService,
        IHttpContextAccessor httpContextAccessor,
        ISys_UserRepository userRepository,
        ICacheService cacheService
        )
    : base(userService)
    {
        _userService = userService;
        _httpContextAccessor = httpContextAccessor;
        _userRepository = userRepository;
        _cacheService = cacheService;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# Service类中构造方法获取实例

 //在表的partial类构造方法获取对象
public partial class Sys_DepartmentService
{
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly ISys_DepartmentRepository _repository;//访问数据库
        private readonly ISys_UserRepository _userRepository;//获取其他表访问数据库
        [ActivatorUtilitiesConstructor]
        public Sys_DepartmentService(
            ISys_DepartmentRepository dbRepository,
            ISys_UserRepository userRepository,
            IHttpContextAccessor httpContextAccessor
            )
        : base(dbRepository)
        {
            _httpContextAccessor = httpContextAccessor;
            _repository = dbRepository;
            _userRepository = userRepository;
        }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19