移除数据仓库不常用方法

This commit is contained in:
不做码农 2023-06-02 20:09:20 +08:00
parent e3517ec21c
commit 2e39825b5c
2 changed files with 20 additions and 47 deletions

View File

@ -12,7 +12,7 @@ using ZR.Model;
namespace ZR.Repository namespace ZR.Repository
{ {
/// <summary> /// <summary>
/// /// 数据仓库类
/// </summary> /// </summary>
/// <typeparam name="T"></typeparam> /// <typeparam name="T"></typeparam>
public class BaseRepository<T> : SimpleClient<T> where T : class, new() public class BaseRepository<T> : SimpleClient<T> where T : class, new()
@ -79,7 +79,7 @@ namespace ZR.Repository
/// <summary> /// <summary>
/// 实体根据主键更新指定字段 /// 实体根据主键更新指定字段
/// return Update(user, t => new { t.NickName, }, true); /// return Update(new SysUser(){ Status = 1 }, t => new { t.NickName, }, true);
/// </summary> /// </summary>
/// <param name="entity"></param> /// <param name="entity"></param>
/// <param name="expression"></param> /// <param name="expression"></param>
@ -91,12 +91,12 @@ namespace ZR.Repository
} }
/// <summary> /// <summary>
/// 根据指定条件更新指定列 egUpdate(new SysUser(){ }, it => new { it.Status }, f => f.Userid == 1)); /// 根据指定条件更新指定列 egUpdate(new SysUser(){ Status = 1 }, it => new { it.Status }, f => f.Userid == 1));
/// 只更新Status列条件是包含 /// 只更新Status列条件是包含
/// </summary> /// </summary>
/// <param name="entity"></param> /// <param name="entity">实体类</param>
/// <param name="expression"></param> /// <param name="expression">要更新列的表达式</param>
/// <param name="where"></param> /// <param name="where">where表达式</param>
/// <returns></returns> /// <returns></returns>
public int Update(T entity, Expression<Func<T, object>> expression, Expression<Func<T, bool>> where) public int Update(T entity, Expression<Func<T, object>> expression, Expression<Func<T, bool>> where)
{ {
@ -117,14 +117,11 @@ namespace ZR.Repository
/// <returns></returns> /// <returns></returns>
public int Update(T entity, List<string> list = null, bool isNull = true) public int Update(T entity, List<string> list = null, bool isNull = true)
{ {
if (list == null) list ??= new List<string>()
{
list = new List<string>()
{ {
"Create_By", "Create_By",
"Create_time" "Create_time"
}; };
}
return Context.Updateable(entity).IgnoreColumns(isNull).IgnoreColumns(list.ToArray()).ExecuteCommand(); return Context.Updateable(entity).IgnoreColumns(isNull).IgnoreColumns(list.ToArray()).ExecuteCommand();
} }
@ -239,36 +236,6 @@ namespace ZR.Repository
return Context.Queryable<T>(); return Context.Queryable<T>();
} }
public (List<T>, int) QueryableToPage(Expression<Func<T, bool>> expression, int pageIndex = 0, int pageSize = 10)
{
int totalNumber = 0;
var list = Context.Queryable<T>().Where(expression).ToPageList(pageIndex, pageSize, ref totalNumber);
return (list, totalNumber);
}
public (List<T>, int) QueryableToPage(Expression<Func<T, bool>> expression, string order, int pageIndex = 0, int pageSize = 10)
{
int totalNumber = 0;
var list = Context.Queryable<T>().Where(expression).OrderBy(order).ToPageList(pageIndex, pageSize, ref totalNumber);
return (list, totalNumber);
}
public (List<T>, int) QueryableToPage(Expression<Func<T, bool>> expression, Expression<Func<T, object>> orderFiled, string orderBy, int pageIndex = 0, int pageSize = 10)
{
int totalNumber = 0;
if (orderBy.Equals("DESC", StringComparison.OrdinalIgnoreCase))
{
var list = Context.Queryable<T>().Where(expression).OrderBy(orderFiled, OrderByType.Desc).ToPageList(pageIndex, pageSize, ref totalNumber);
return (list, totalNumber);
}
else
{
var list = Context.Queryable<T>().Where(expression).OrderBy(orderFiled, OrderByType.Asc).ToPageList(pageIndex, pageSize, ref totalNumber);
return (list, totalNumber);
}
}
public List<T> SqlQueryToList(string sql, object obj = null) public List<T> SqlQueryToList(string sql, object obj = null)
{ {
return Context.Ado.SqlQuery<T>(sql, obj); return Context.Ado.SqlQuery<T>(sql, obj);
@ -296,9 +263,21 @@ namespace ZR.Repository
return source.ToPage(parm); return source.ToPage(parm);
} }
/// <summary>
/// 分页获取数据
/// </summary>
/// <param name="where">条件表达式</param>
/// <param name="parm"></param>
/// <param name="order"></param>
/// <param name="orderEnum"></param>
/// <returns></returns>
public PagedInfo<T> GetPages(Expression<Func<T, bool>> where, PagerInfo parm, Expression<Func<T, object>> order, OrderByType orderEnum = OrderByType.Asc) public PagedInfo<T> GetPages(Expression<Func<T, bool>> where, PagerInfo parm, Expression<Func<T, object>> order, OrderByType orderEnum = OrderByType.Asc)
{ {
var source = Context.Queryable<T>().Where(where).OrderByIF(orderEnum == OrderByType.Asc, order, OrderByType.Asc).OrderByIF(orderEnum == OrderByType.Desc, order, OrderByType.Desc); var source = Context
.Queryable<T>()
.Where(where)
.OrderByIF(orderEnum == OrderByType.Asc, order, OrderByType.Asc)
.OrderByIF(orderEnum == OrderByType.Desc, order, OrderByType.Desc);
return source.ToPage(parm); return source.ToPage(parm);
} }

View File

@ -71,12 +71,6 @@ namespace ZR.Repository
ISugarQueryable<T> Queryable(); ISugarQueryable<T> Queryable();
List<T> GetAll(bool useCache = false, int cacheSecond = 3600); List<T> GetAll(bool useCache = false, int cacheSecond = 3600);
(List<T>, int) QueryableToPage(Expression<Func<T, bool>> expression, int pageIndex = 0, int pageSize = 10);
(List<T>, int) QueryableToPage(Expression<Func<T, bool>> expression, string order, int pageIndex = 0, int pageSize = 10);
(List<T>, int) QueryableToPage(Expression<Func<T, bool>> expression, Expression<Func<T, object>> orderFiled, string orderBy, int pageIndex = 0, int pageSize = 10);
List<T> SqlQueryToList(string sql, object obj = null); List<T> SqlQueryToList(string sql, object obj = null);
T GetId(object pkValue); T GetId(object pkValue);