ABP领域层-仓储

时间:2022-07-10 02:26:17

一、仓储的定义:在领域层和数据映射层的中介,使用类似集合的接口来存取领域对象。实际上,仓储被用于领域对象再数据库上的操作。

                            一般对不同的实体会创建相对应的仓储。

二、IRepository接口

       每个仓储对象有相对应的仓储接口。对于仓储类,IRepository定义了许多的泛型方法。比如:Select,Insert,Update,Delete方法。

       这些方法已经足够应对一般的实体。仓储接口IRepository定义了从数据库中检索实体的常用方法。方法分为查询、插入、更新、删除,

       对应的方法:(1)取得实体列表:List<TEntity> GetAllList();Task<List<TEntity>> GetAllListAsync();GetAllList被用于从数据库检索所有的实体。

                            (2)     新增Insert:IRepository接口定义了简单的方法来提供新增一个实体到数据库。TEntity Insert(TEntity entity);Task<TEntity>InsertAsync(TEntity entity).

                            (3)  更新Update:IRepository接口定义了方法来修改实体。TEntity Update(TEntity entity);Task<TEntity> UpdateAsync(TEntity entity).

                            (4)   删除Delete:IRIRepository接口定义了方法来删除实体。Void Delete(TEntity entity);Task DeleteAsync(TEntity entity).

三、自己对领域模型的初步认识

       这里纯属个人对DDD领域模型的初步认识。首先在UI界面绑定数据源ItemSource,给这个属性绑定一个值,例:ItemSource={Bingding ApplyItems},这是在项目的View里面的, 然后在ViewModel中编写逻辑。ViewModel通过调用服务接口IApplyItemService的方法来完成数据的调用,接口调用实现方法ApplyItemService,然后调用仓储接口                       IApplyItemRpository,再调用仓储实现方法,在Select,Insert,Update,Delete方法下查询,增加,修改和删除等方法下操作数据。