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