Abp项目中的领域模型实体类访问仓储的方法

2023-06-12,,

首先声明,不推荐使用这种方法。实体访问仓储是不被推荐的!

1.简单粗暴的方法

Abp.Dependency.IocManager.Instance.Resolve<IRepository<要访问的实体类>>();

2.绕个弯子的方法

首先声明一个继承自IDomainService的接口并定义接口方法,例如ITestService
添加接口实现类,在该构造函数中声明要访问的实体仓储相关参数

    public class TestService : ITestService
{
private IRepository<Role> roleRepository; public TestService(IRepository<Role> roleRepository)
{
this.roleRepository = roleRepository;
} public bool CheckSomething()
{
var query = roleRepository.GetAll();
...
}
}

在实体类方法中通过IoC获取领域服务

var svc = Abp.Dependency.IocManager.Instance.Resolve<ITestService>();
var pass = svc.CheckSomething();

Abp框架会自动为TestService实例注入相应的仓储变量,这个领域服务也可以直接在Application层中使用。

Abp项目中的领域模型实体类访问仓储的方法的相关教程结束。

《Abp项目中的领域模型实体类访问仓储的方法.doc》

下载本文的Word格式文档,以方便收藏与打印。