# 构造方法注入与获取对象实体
构造方法获取对象实例,比如数据库访问,业务类操作
# 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
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19