/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Data; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.IRepository; using CoreCms.Net.IServices; using CoreCms.Net.Model.ViewModels.Basics; using SqlSugar; namespace CoreCms.Net.Services { public class BaseServices : IBaseServices where T : class, new() { //public IBaseRepository baseDal = new BaseRepository(); public IBaseRepository BaseDal; //通过在子类的构造函数中注入,这里是基类,不用构造函数 #region 查询数据 /// /// 根据主值查询单条数据 /// /// 主键值 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 泛型实体 public T QueryById(object pkValue, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.QueryById(pkValue, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据主值查询单条数据 /// /// id(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 数据实体 public async Task QueryByIdAsync(object objId, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.QueryByIdAsync(objId, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据主值列表查询单条数据 /// /// id列表(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 数据实体列表 public List QueryByIDs(object[] lstIds, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.QueryByIDs(lstIds, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据主值列表查询单条数据 /// /// id列表(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 数据实体列表 public async Task> QueryByIDsAsync(object[] lstIds, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.QueryByIDsAsync(lstIds, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据主值列表查询单条数据 /// /// id列表(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 数据实体列表 public List QueryByIDs(int[] lstIds, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.QueryByIDs(lstIds, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据主值列表查询单条数据 /// /// id列表(必须指定主键特性 [SugarColumn(IsPrimaryKey=true)]),如果是联合主键,请使用Where条件 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 数据实体列表 public async Task> QueryByIDsAsync(int[] lstIds, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.QueryByIDsAsync(lstIds, blUseNoLock, isDataCache, cacheTimes); } /// /// 查询表单所有数据(无分页,请慎用) /// /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public List Query(bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { var list = BaseDal.Query(blUseNoLock, isDataCache, cacheTimes); return list; } /// /// 查询表单所有数据(无分页,请慎用) /// /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public async Task> QueryAsync(bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.QueryAsync(blUseNoLock, isDataCache, cacheTimes); } /// /// 根据条件查询数据 /// /// 条件表达式树 /// 排序字段 /// 排序顺序 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 泛型实体集合 public List QueryListByClause(Expression> predicate, Expression> orderByPredicate = null, OrderByType orderByType = OrderByType.Asc, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.QueryListByClause(predicate, orderByPredicate, orderByType, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据条件查询数据 /// /// 条件表达式树 /// 排序字段 /// 排序顺序 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 泛型实体集合 public async Task> QueryListByClauseAsync(Expression> predicate, Expression> orderByPredicate = null, OrderByType orderByType = OrderByType.Asc, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.QueryListByClauseAsync(predicate, orderByPredicate, orderByType, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据条件查询一定数量数据 /// /// 条件表达式树 /// 获取数量 /// 排序字段 /// 排序顺序 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public List QueryListByClause(Expression> predicate, int take, Expression> orderByPredicate, OrderByType orderByType, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.QueryListByClause(predicate, take, orderByPredicate, orderByType, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据条件查询一定数量数据 /// /// 条件表达式树 /// 获取数量 /// 排序字段 /// 排序顺序 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public async Task> QueryListByClauseAsync(Expression> predicate, int take, Expression> orderByPredicate, OrderByType orderByType, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.QueryListByClauseAsync(predicate, take, orderByPredicate, orderByType, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据条件查询数据 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public T QueryByClause(Expression> predicate, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.QueryByClause(predicate, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据条件查询数据 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 是否使用锁 /// 数据锁类型 /// public async Task QueryByClauseAsync(Expression> predicate, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue, bool blUseTranLock = false, DbLockType dbLockType = DbLockType.Wait) { return await BaseDal.QueryByClauseAsync(predicate, blUseNoLock, isDataCache, cacheTimes, blUseTranLock, dbLockType); } /// /// 根据条件查询数据 /// /// 条件表达式树 /// 排序字段 /// 排序顺序 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public T QueryByClause(Expression> predicate, Expression> orderByPredicate, OrderByType orderByType, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { var entity = BaseDal.QueryByClause(predicate, orderByPredicate, orderByType, blUseNoLock, isDataCache, cacheTimes); return entity; } /// /// 根据条件查询数据 /// /// 条件表达式树 /// 排序字段 /// 排序顺序 /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// 是否使用锁 /// 数据锁类型 /// public async Task QueryByClauseAsync(Expression> predicate, Expression> orderByPredicate, OrderByType orderByType, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue, bool blUseTranLock = false, DbLockType dbLockType = DbLockType.Wait) { return await BaseDal.QueryByClauseAsync(predicate, orderByPredicate, orderByType, blUseNoLock, isDataCache, cacheTimes, blUseTranLock, dbLockType); } #endregion #region 插入数据 /// /// 写入实体数据 /// /// 实体数据 /// /// public int Insert(T entity, bool isRemoveDataCache = false) { return BaseDal.Insert(entity, isRemoveDataCache); } /// /// 写入实体数据 /// /// 实体数据 /// /// public async Task InsertAsync(T entity, bool isRemoveDataCache = false) { return await BaseDal.InsertAsync(entity, isRemoveDataCache); } /// /// 写入实体数据 /// /// 实体数据 /// 插入的列 /// /// public int Insert(T entity, Expression> insertColumns, bool isRemoveDataCache = false) { return BaseDal.Insert(entity, insertColumns, isRemoveDataCache); } /// /// 写入实体数据 /// /// 实体数据 /// 插入的列 /// /// public async Task InsertAsync(T entity, Expression> insertColumns, bool isRemoveDataCache = false) { return await BaseDal.InsertAsync(entity, insertColumns, isRemoveDataCache); } /// /// 写入实体数据 /// /// 实体类 /// 需插入的字段 /// /// public bool InsertGuid(T entity, Expression> insertColumns, bool isRemoveDataCache = false) { return BaseDal.InsertGuid(entity, insertColumns, isRemoveDataCache); } /// /// 写入实体数据 /// /// 实体类 /// 需插入的字段 /// /// public async Task InsertGuidAsync(T entity, Expression> insertColumns, bool isRemoveDataCache = false) { return await InsertGuidAsync(entity, insertColumns, isRemoveDataCache); } /// /// 批量写入实体数据 /// /// 实体类 /// /// public int Insert(List entity, bool isRemoveDataCache = false) { return BaseDal.Insert(entity, isRemoveDataCache); } /// /// 批量写入实体数据 /// /// 实体类 /// /// public async Task InsertAsync(List entity, bool isRemoveDataCache = false) { return await BaseDal.InsertAsync(entity, isRemoveDataCache); } /// /// 批量写入实体数据 /// /// 实体类 /// /// public async Task InsertCommandAsync(List entity, bool isRemoveDataCache = false) { return await BaseDal.InsertCommandAsync(entity, isRemoveDataCache); } #endregion #region 更新数据 /// /// 批量更新实体数据 /// /// /// /// public bool Update(List entity, bool isRemoveDataCache = false) { return BaseDal.Update(entity, isRemoveDataCache); } /// /// 批量更新实体数据 /// /// /// /// public async Task UpdateAsync(List entity, bool isRemoveDataCache = false) { return await BaseDal.UpdateAsync(entity, isRemoveDataCache); } /// /// 更新实体数据 /// /// /// /// public bool Update(T entity, bool isRemoveDataCache = false) { return BaseDal.Update(entity, isRemoveDataCache); } /// /// 更新实体数据 /// /// /// /// public async Task UpdateAsync(T entity, bool isRemoveDataCache = false) { return await BaseDal.UpdateAsync(entity, isRemoveDataCache); } /// /// 更新某个字段 /// /// lambda表达式,如it => new Student() { Name = "a", CreateTime = DateTime.Now } /// lambda判断 /// /// public bool Update(Expression> columns, Expression> where, bool isRemoveDataCache = false) { return BaseDal.Update(columns, where, isRemoveDataCache); } /// /// 更新某个字段 /// /// lambda表达式,如it => new Student() { Name = "a", CreateTime = DateTime.Now } /// lambda判断 /// /// public async Task UpdateAsync(Expression> columns, Expression> where, bool isRemoveDataCache = false) { return await BaseDal.UpdateAsync(columns, where, isRemoveDataCache); } #endregion #region 删除数据 /// /// 删除数据 /// /// 实体类 /// /// public bool Delete(T entity, bool isRemoveDataCache = false) { return BaseDal.Delete(entity, isRemoveDataCache); } /// /// 删除数据 /// /// 实体类 /// /// public async Task DeleteAsync(T entity, bool isRemoveDataCache = false) { return await BaseDal.DeleteAsync(entity, isRemoveDataCache); } /// /// 删除数据 /// /// 实体类 /// /// public bool Delete(IEnumerable entity, bool isRemoveDataCache = false) { return BaseDal.Delete(entity, isRemoveDataCache); } /// /// 删除数据 /// /// 实体类 /// /// public async Task DeleteAsync(IEnumerable entity, bool isRemoveDataCache = false) { return await BaseDal.DeleteAsync(entity, isRemoveDataCache); } /// /// 删除数据 /// /// 过滤条件 /// /// public bool Delete(Expression> where, bool isRemoveDataCache = false) { return BaseDal.Delete(where, isRemoveDataCache); } /// /// 删除数据 /// /// 过滤条件 /// /// public async Task DeleteAsync(Expression> where, bool isRemoveDataCache = false) { return await BaseDal.DeleteAsync(where, isRemoveDataCache); } /// /// 删除指定ID的数据 /// /// /// /// public bool DeleteById(object id, bool isRemoveDataCache = false) { return BaseDal.DeleteById(id, isRemoveDataCache); } /// /// 删除指定ID的数据 /// /// /// /// public async Task DeleteByIdAsync(object id, bool isRemoveDataCache = false) { return await BaseDal.DeleteByIdAsync(id, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public bool DeleteByIds(int[] ids, bool isRemoveDataCache = false) { return BaseDal.DeleteByIds(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public async Task DeleteByIdsAsync(int[] ids, bool isRemoveDataCache = false) { return await BaseDal.DeleteByIdsAsync(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public bool DeleteByIds(long[] ids, bool isRemoveDataCache = false) { return BaseDal.DeleteByIds(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public async Task DeleteByIdsAsync(long[] ids, bool isRemoveDataCache = false) { return await BaseDal.DeleteByIdsAsync(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public bool DeleteByIds(Guid[] ids, bool isRemoveDataCache = false) { return BaseDal.DeleteByIds(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public async Task DeleteByIdsAsync(Guid[] ids, bool isRemoveDataCache = false) { return await BaseDal.DeleteByIdsAsync(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public bool DeleteByIds(string[] ids, bool isRemoveDataCache = false) { return BaseDal.DeleteByIds(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public async Task DeleteByIdsAsync(string[] ids, bool isRemoveDataCache = false) { return await BaseDal.DeleteByIdsAsync(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public bool DeleteByIds(List ids, bool isRemoveDataCache = false) { return BaseDal.DeleteByIds(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public async Task DeleteByIdsAsync(List ids, bool isRemoveDataCache = false) { return await BaseDal.DeleteByIdsAsync(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public bool DeleteByIds(List ids, bool isRemoveDataCache = false) { return BaseDal.DeleteByIds(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public async Task DeleteByIdsAsync(List ids, bool isRemoveDataCache = false) { return await BaseDal.DeleteByIdsAsync(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public bool DeleteByIds(List ids, bool isRemoveDataCache = false) { return BaseDal.DeleteByIds(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public async Task DeleteByIdsAsync(List ids, bool isRemoveDataCache = false) { return await BaseDal.DeleteByIdsAsync(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public bool DeleteByIds(List ids, bool isRemoveDataCache = false) { return BaseDal.DeleteByIds(ids, isRemoveDataCache); } /// /// 删除指定ID集合的数据(批量删除) /// /// /// /// public async Task DeleteByIdsAsync(List ids, bool isRemoveDataCache = false) { return await BaseDal.DeleteByIdsAsync(ids, isRemoveDataCache); } #endregion #region 判断数据 /// /// 判断数据是否存在 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// public bool Exists(Expression> predicate, bool blUseNoLock = false) { return BaseDal.Exists(predicate, blUseNoLock); } /// /// 判断数据是否存在 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// public async Task ExistsAsync(Expression> predicate, bool blUseNoLock = false) { return await BaseDal.ExistsAsync(predicate, blUseNoLock); } #endregion #region 统计数据 /// /// 获取数据总数 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 是否缓存 /// 缓存时长(分钟) /// public int GetCount(Expression> predicate, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.GetCount(predicate, blUseNoLock, isDataCache, cacheTimes); } /// /// 获取数据总数 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 是否缓存 /// 缓存时长(分钟) /// public async Task GetCountAsync(Expression> predicate, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.GetCountAsync(predicate, blUseNoLock, isDataCache, cacheTimes); } /// /// 获取数据某个字段的合计 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 字段 /// 是否缓存 /// 缓存时长(分钟) /// public int GetSum(Expression> predicate, Expression> field, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.GetSum(predicate, field, blUseNoLock, isDataCache, cacheTimes); } /// /// 获取数据某个字段的合计 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 字段 /// 是否缓存 /// 缓存时长(分钟) /// public async Task GetSumAsync(Expression> predicate, Expression> field, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.GetSumAsync(predicate, field, blUseNoLock, isDataCache, cacheTimes); } /// /// 获取数据某个字段的合计 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 字段 /// 是否缓存 /// 缓存时长(分钟) /// public decimal GetSum(Expression> predicate, Expression> field, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.GetSum(predicate, field, blUseNoLock, isDataCache, cacheTimes); } /// /// 获取数据某个字段的合计 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 字段 /// 是否缓存 /// 缓存时长(分钟) /// public async Task GetSumAsync(Expression> predicate, Expression> field, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.GetSumAsync(predicate, field, blUseNoLock, isDataCache, cacheTimes); } /// /// 获取数据某个字段的合计 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 字段 /// 是否缓存 /// 缓存时长(分钟) /// public float GetSum(Expression> predicate, Expression> field, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.GetSum(predicate, field, blUseNoLock, isDataCache, cacheTimes); } /// /// 获取数据某个字段的合计 /// /// 条件表达式树 /// 是否使用WITH(NoLock) /// 字段 /// 是否缓存 /// 缓存时长(分钟) /// public async Task GetSumAsync(Expression> predicate, Expression> field, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.GetSumAsync(predicate, field, blUseNoLock, isDataCache, cacheTimes); } #endregion #region 分页数据 /// /// 根据条件查询分页数据 /// /// 判断集合 /// 排序方式 /// 当前页面索引 /// 分布大小 /// /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public IPageList QueryPage(Expression> predicate, Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return BaseDal.QueryPage(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock, isDataCache, cacheTimes); } /// /// 根据条件查询分页数据 /// /// 判断集合 /// 排序方式 /// 当前页面索引 /// 分布大小 /// /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public async Task> QueryPageAsync(Expression> predicate, Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock, isDataCache, cacheTimes); } #endregion #region 联表查询 /// /// 查询-多表查询 /// /// 实体1 /// 实体2 /// 返回对象 /// 关联表达式 (join1,join2) => new object[] {JoinType.Left,join1.UserNo==join2.UserNo} /// 返回表达式 (s1, s2) => new { Id =s1.UserNo, Id1 = s2.UserNo} /// 查询表达式 (w1, w2) =>w1.UserNo == "") /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public List QueryMuch( Expression> joinExpression, Expression> selectExpression, Expression> whereLambda = null, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) where T1 : class, new() { return BaseDal.QueryMuch(joinExpression, selectExpression, whereLambda, blUseNoLock, isDataCache, cacheTimes); } /// /// 查询-多表查询 /// /// 实体1 /// 实体2 /// 返回对象 /// 关联表达式 (join1,join2) => new object[] {JoinType.Left,join1.UserNo==join2.UserNo} /// 返回表达式 (s1, s2) => new { Id =s1.UserNo, Id1 = s2.UserNo} /// 查询表达式 (w1, w2) =>w1.UserNo == "") /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public async Task> QueryMuchAsync( Expression> joinExpression, Expression> selectExpression, Expression> whereLambda = null, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) where T1 : class, new() { return await BaseDal.QueryMuchAsync(joinExpression, selectExpression, whereLambda, blUseNoLock, isDataCache, cacheTimes); } /// /// 查询-多表查询 /// /// 实体1 /// 实体2 /// 返回对象 /// 关联表达式 (join1,join2) => new object[] {JoinType.Left,join1.UserNo==join2.UserNo} /// 返回表达式 (s1, s2) => new { Id =s1.UserNo, Id1 = s2.UserNo} /// 查询表达式 (w1, w2) =>w1.UserNo == "") /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public TResult QueryMuchFirst( Expression> joinExpression, Expression> selectExpression, Expression> whereLambda = null, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) where T1 : class, new() { return BaseDal.QueryMuchFirst(joinExpression, selectExpression, whereLambda, blUseNoLock, isDataCache, cacheTimes); } /// /// 查询-多表查询 /// /// 实体1 /// 实体2 /// 返回对象 /// 关联表达式 (join1,join2) => new object[] {JoinType.Left,join1.UserNo==join2.UserNo} /// 返回表达式 (s1, s2) => new { Id =s1.UserNo, Id1 = s2.UserNo} /// 查询表达式 (w1, w2) =>w1.UserNo == "") /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public async Task QueryMuchFirstAsync( Expression> joinExpression, Expression> selectExpression, Expression> whereLambda = null, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) where T1 : class, new() { return await BaseDal.QueryMuchFirstAsync(joinExpression, selectExpression, whereLambda, blUseNoLock, isDataCache, cacheTimes); } /// /// 查询-三表查询 /// /// 实体1 /// 实体2 /// 实体3 /// 返回对象 /// 关联表达式 (join1,join2) => new object[] {JoinType.Left,join1.UserNo==join2.UserNo} /// 返回表达式 (s1, s2) => new { Id =s1.UserNo, Id1 = s2.UserNo} /// 查询表达式 (w1, w2) =>w1.UserNo == "") /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public List QueryMuch( Expression> joinExpression, Expression> selectExpression, Expression> whereLambda = null, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) where T1 : class, new() { return BaseDal.QueryMuch(joinExpression, selectExpression, whereLambda, blUseNoLock, isDataCache, cacheTimes); } /// /// 查询-三表查询 /// /// 实体1 /// 实体2 /// 实体3 /// 返回对象 /// 关联表达式 (join1,join2) => new object[] {JoinType.Left,join1.UserNo==join2.UserNo} /// 返回表达式 (s1, s2) => new { Id =s1.UserNo, Id1 = s2.UserNo} /// 查询表达式 (w1, w2) =>w1.UserNo == "") /// 是否使用WITH(NoLock) /// 是否启用缓存 /// 缓存时长(分钟) /// public async Task> QueryMuchAsync( Expression> joinExpression, Expression> selectExpression, Expression> whereLambda = null, bool blUseNoLock = false, bool isDataCache = false, int cacheTimes = int.MaxValue) where T1 : class, new() { return await BaseDal.QueryMuchAsync(joinExpression, selectExpression, whereLambda, blUseNoLock, isDataCache, cacheTimes); } #endregion #region SQL查询 /// /// 执行sql语句并返回List /// /// /// /// /// public List SqlQuery(string sql, List parameters) { return BaseDal.SqlQuery(sql, parameters); } /// /// 执行sql语句并返回List /// /// /// /// 是否启用缓存 /// 缓存时长(分钟) /// public async Task> SqlQueryable(string sql, bool isDataCache = false, int cacheTimes = int.MaxValue) { return await BaseDal.SqlQueryable(sql, isDataCache, cacheTimes); } /// /// 执行调用存储过程(返回DataTable) /// /// 存储过程名称 /// 参数 /// public async Task SqlQueryDataTableByStoredProcedure(string useStoredProcedureName, List parameters) { var list = await BaseDal.SqlQueryDataTableByStoredProcedure(useStoredProcedureName, parameters);//返回DataTable return list; } /// /// 执行调用存储过程(返回List) /// /// 返回类型 /// 存储过程名称 /// 参数 /// public async Task> SqlQueryableByStoredProcedure(string useStoredProcedureName, List parameters) { var list = await BaseDal.SqlQueryableByStoredProcedure(useStoredProcedureName, parameters);//返回List return list; } #endregion } }