using New_College.IRepository.Base; using New_College.IServices.BASE; using New_College.Model; using SqlSugar; using System; using System.Collections.Generic; using System.Data; using System.Linq.Expressions; using System.Threading.Tasks; namespace New_College.Services.BASE { public class BaseServices : IBaseServices where TEntity : class, new() { //public IBaseRepository baseDal = new BaseRepository(); public IBaseRepository BaseDal;//通过在子类的构造函数中注入,这里是基类,不用构造函数 public async Task QueryById(object objId) { return await BaseDal.QueryById(objId); } /// /// 功能描述:根据ID查询一条数据 /// 作  者:AZLinli.New_College /// /// id(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 /// 是否使用缓存 /// 数据实体 public async Task QueryById(object objId, bool blnUseCache = false) { return await BaseDal.QueryById(objId, blnUseCache); } /// /// 功能描述:根据ID查询数据 /// 作  者:AZLinli.New_College /// /// id列表(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 /// 数据实体列表 public async Task> QueryByIDs(object[] lstIds) { return await BaseDal.QueryByIDs(lstIds); } /// /// 写入实体数据 /// /// 博文实体类 /// public async Task Add(TEntity entity) { return await BaseDal.Add(entity); } /// /// 批量插入实体(速度快) /// /// 实体集合 /// 影响行数 public async Task Add(List listEntity) { return await BaseDal.Add(listEntity); } /// /// 更新实体数据 /// /// 博文实体类 /// public async Task Update(TEntity entity) { return await BaseDal.Update(entity); } public async Task Update(TEntity entity, string strWhere) { return await BaseDal.Update(entity, strWhere); } public async Task Update(object operateAnonymousObjects) { return await BaseDal.Update(operateAnonymousObjects); } public async Task Update( TEntity entity, List lstColumns = null, List lstIgnoreColumns = null, string strWhere = "" ) { return await BaseDal.Update(entity, lstColumns, lstIgnoreColumns, strWhere); } /// /// 根据实体删除一条数据 /// /// 博文实体类 /// public async Task Delete(TEntity entity) { return await BaseDal.Delete(entity); } /// /// 删除指定ID的数据 /// /// 主键ID /// public async Task DeleteById(object id) { return await BaseDal.DeleteById(id); } /// /// 删除指定ID集合的数据(批量删除) /// /// 主键ID集合 /// public async Task DeleteByIds(object[] ids) { return await BaseDal.DeleteByIds(ids); } /// /// 功能描述:查询所有数据 /// 作  者:AZLinli.New_College /// /// 数据列表 public async Task> Query() { return await BaseDal.Query(); } /// /// 功能描述:查询数据列表 /// 作  者:AZLinli.New_College /// /// 条件 /// 数据列表 public async Task> Query(string strWhere) { return await BaseDal.Query(strWhere); } /// /// 功能描述:查询数据列表 /// 作  者:AZLinli.New_College /// /// whereExpression /// 数据列表 public async Task> Query(Expression> whereExpression) { return await BaseDal.Query(whereExpression); } /// /// 功能描述:查询一个列表 /// 作  者:AZLinli.New_College /// /// 条件表达式 /// 排序字段,如name asc,age desc /// 数据列表 public async Task> Query(Expression> whereExpression, Expression> orderByExpression, bool isAsc = true) { return await BaseDal.Query(whereExpression, orderByExpression, isAsc); } public async Task> Query(Expression> whereExpression, string strOrderByFileds) { return await BaseDal.Query(whereExpression, strOrderByFileds); } /// /// 功能描述:查询一个列表 /// 作  者:AZLinli.New_College /// /// 条件 /// 排序字段,如name asc,age desc /// 数据列表 public async Task> Query(string strWhere, string strOrderByFileds) { return await BaseDal.Query(strWhere, strOrderByFileds); } /// /// 根据sql语句查询 /// /// 完整的sql语句 /// 参数 /// 泛型集合 public async Task> QuerySql(string strSql, SugarParameter[] parameters = null) { return await BaseDal.QuerySql(strSql, parameters); } /// /// 根据sql语句查询 /// /// 完整的sql语句 /// 参数 /// DataTable public async Task QueryTable(string strSql, SugarParameter[] parameters = null) { return await BaseDal.QueryTable(strSql, parameters); } /// /// 功能描述:查询前N条数据 /// 作  者:AZLinli.New_College /// /// 条件表达式 /// 前N条 /// 排序字段,如name asc,age desc /// 数据列表 public async Task> Query(Expression> whereExpression, int intTop, string strOrderByFileds) { return await BaseDal.Query(whereExpression, intTop, strOrderByFileds); } /// /// 功能描述:查询前N条数据 /// 作  者:AZLinli.New_College /// /// 条件 /// 前N条 /// 排序字段,如name asc,age desc /// 数据列表 public async Task> Query( string strWhere, int intTop, string strOrderByFileds) { return await BaseDal.Query(strWhere, intTop, strOrderByFileds); } /// /// 功能描述:分页查询 /// 作  者:AZLinli.New_College /// /// 条件表达式 /// 页码(下标0) /// 页大小 /// 数据总量 /// 排序字段,如name asc,age desc /// 数据列表 public async Task> Query( Expression> whereExpression, int intPageIndex, int intPageSize, string strOrderByFileds) { return await BaseDal.Query( whereExpression, intPageIndex, intPageSize, strOrderByFileds); } /// /// 功能描述:分页查询 /// 作  者:AZLinli.New_College /// /// 条件 /// 页码(下标0) /// 页大小 /// 数据总量 /// 排序字段,如name asc,age desc /// 数据列表 public async Task> Query( string strWhere, int intPageIndex, int intPageSize, string strOrderByFileds) { return await BaseDal.Query( strWhere, intPageIndex, intPageSize, strOrderByFileds); } public async Task> QueryPage(Expression> whereExpression, int intPageIndex = 1, int intPageSize = 20, string strOrderByFileds = null) { return await BaseDal.QueryPage(whereExpression, intPageIndex, intPageSize, strOrderByFileds); } public async Task> QueryMuch(Expression> joinExpression, Expression> selectExpression, Expression> whereLambda = null) where T : class, new() { return await BaseDal.QueryMuch(joinExpression, selectExpression, whereLambda); } } }