using QYZH.InteractiveMagazine.Models.Dto; using System.Linq.Expressions; namespace QYZH.InteractiveMagazine.Repository; /// /// 基础仓储接口 /// /// 实体类型 public interface IBaseRepository where T : class, new() { /// /// 根据Id获取实体 /// /// 主键Id /// 实体对象 Task GetByIdAsync(long id); /// /// 获取所有列表 /// /// 实体列表 Task> GetListAsync(); /// /// 根据条件获取列表 /// /// 查询条件 /// 实体列表 Task> GetListByWhereAsync(Expression> where); /// /// 分页查询 /// /// 查询条件 /// 分页参数 /// 分页结果 Task> GetPageListAsync(Expression> where, PageQueryModel pageQuery); /// /// 插入单条记录 /// /// 实体对象 /// 是否成功 Task InsertAsync(T entity); /// /// 批量插入记录 /// /// 实体列表 /// 是否成功 Task InsertRangeAsync(List entities); /// /// 更新单条记录 /// /// 实体对象 /// 是否成功 Task UpdateAsync(T entity); /// /// 批量更新记录 /// /// 实体列表 /// 是否成功 Task UpdateRangeAsync(List entities); /// /// 根据Id删除记录(软删除) /// /// 主键Id /// 是否成功 Task DeleteByIdAsync(long id); /// /// 根据条件删除记录(软删除) /// /// 删除条件 /// 是否成功 Task DeleteByWhereAsync(Expression> where); /// /// 根据条件获取记录数 /// /// 查询条件 /// 记录数 Task GetCountAsync(Expression> where); }