仓储类
用于和数据库进行交互的类
说明
- 仓储类继承自
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
方法中,实现了数据库切换, 可以根据实体类的特性来区分是基础库
还是业务库
, 详见方法内部实现