当前位置:职场发展 > ABP(现代ASP.NET模板开发框架)系列11,ABP域层-存储库

ABP(现代ASP.NET模板开发框架)系列11,ABP域层-存储库

  • 发布:2023-10-04 17:48

-->

点击此处进入ABP系列文章总目录

基于DDD的现代www.sychzs.cn开发框架--ABP系列11、ABP领域层-Repositories

ABP 是“www.sychzs.cn Boilerplate Project(www.sychzs.cn 示例项目)”的缩写。

ABP官网:http://www.sychzs.cn

ABP 在 Github 上的开源项目:https://www.sychzs.cn/aspnetboilerplate


本文由台湾-小张

翻译

仓库定义:“作为领域层和数据映射层之间的中介,使用类似集合的接口来访问领域对象”(Martin Fowler)。

事实上,仓储是用于对数据库进行域对象操作(实体和值对象Value类型)。一般来说,我们为不同的实体(或聚合根)创建相应的仓库。

IRepository接口

在ABP中,仓储类必须实现IRepository接口。最好的办法是针对不同的仓储对象定义不同的接口。

Person实体的仓库接口声明示例如下:

公共接口 IPersonRepository : IRepository
{
}

IPersonRepository 继承自 IRepository,用于定义 Id 类型为 int (Int32) 的实体。如果您的实体ID数据类型不是int,则可以继承IRepository接口,如下所示:

公共接口 IPersonRepository : IRepository
{
}

对于仓储类,IRepository定义了很多泛型方法。例如:Select、Insert、Update、Delete 方法(CRUD 操作)。大多数时候,这些方法足以满足一般实体的需求。如果这些方法对于实体来说足够了,我们不需要创建该实体所需的存储库接口/类。实施章节中有更多详细信息。

相关文章