Skip to content

仓储类

用于和数据库进行交互的类

说明

  • 仓储类继承自 BaseRepository<T, TKey>,泛型参数分别为实体类和主键类型
  • 仓储类需要继承 ISysUserRepository 接口,内部接口定义了常用的增删改查方法
  • 仓储类需要注入 IUnitOfWork 工作单元,用于管理事务

e.g:

cs
using Mom.Core.Domain.IRepository;
using Mom.Core.Domain.Model.Entity;

namespace Mom.Core.Infrastructure.Repository
{
    /// <summary>
    /// SysUserRepository
    /// </summary>
    public class SysUserRepository : BaseRepository<SysUser, int>, ISysUserRepository
    {
        public SysUserRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
        {
        }
    }
}
using Mom.Core.Domain.IRepository;
using Mom.Core.Domain.Model.Entity;

namespace Mom.Core.Infrastructure.Repository
{
    /// <summary>
    /// SysUserRepository
    /// </summary>
    public class SysUserRepository : BaseRepository<SysUser, int>, ISysUserRepository
    {
        public SysUserRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
        {
        }
    }
}

BaseRepository 仓储基类

  • BaseRepository 是一个泛型类,泛型参数分别为实体类和主键类型
  • BaseRepository 实现了 IRepository<T, TKey> 接口,定义了常用的增删改查方法
  • BaseRepository 内部使用 SqlSugarScope 进行数据库操作,通过 IUnitOfWork 工作单元进行事务管理
  • _db 方法中,实现了数据库切换, 可以根据实体类的特性来区分是 基础库 还是 业务库, 详见方法内部实现