/// <summary> /// 获取下一条记录 /// </summary> /// <param name="ID">当前ID</param> /// <param name="ts">TableSet</param> /// <typeparam name="TEntity">实体类</typeparam> public static TEntity ToNextEntity <TEntity>(this ViewSet <TEntity> ts, int?ID) where TEntity : class, IEntity, new() { return(ts.Where(o => o.ID > ID).Asc(o => o.ID).ToEntity()); }
/// <summary> /// 获取上一条记录 /// </summary> /// <param name="ID">当前ID</param> /// <param name="ts">TableSet</param> /// <typeparam name="TEntity">实体类</typeparam> public static TEntity ToPreviousEntity <TEntity>(this ViewSet <TEntity> ts, int?ID) where TEntity : class, IEntity, new() { return(ts.Where(o => o.ID < ID).Desc(o => o.ID).ToEntity()); }
/// <summary> /// 判断是否存在记录 /// </summary> /// <param name="ts">ViewSet</param> /// <typeparam name="TEntity">实体类</typeparam> /// <param name="IDs">条件,等同于:o=> IDs.Contains(o.ID) 的操作</param> public static bool IsHaving <TEntity>(this ViewSet <TEntity> ts, List <int> IDs) where TEntity : class, Core.Infrastructure.IEntity, new() { return(ts.Where(o => IDs.Contains(o.ID.GetValueOrDefault())).IsHaving()); }
/// <summary> /// 获取数量 /// </summary> /// <param name="ts">ViewSet</param> /// <typeparam name="TEntity">实体类</typeparam> /// <param name="ID">条件,等同于:o=>o.ID == ID 的操作</param> public static int Count <TEntity>(this ViewSet <TEntity> ts, int?ID) where TEntity : class, Core.Infrastructure.IEntity, new() { return(ts.Where(o => o.ID == ID).Count()); }
/// <summary> /// 判断是否存在记录 /// </summary> /// <param name="ts">ViewSet</param> /// <typeparam name="TEntity">实体类</typeparam> /// <param name="ID">条件,等同于:o=>o.ID == ID 的操作</param> public static bool IsHaving <TEntity>(this ViewSet <TEntity> ts, int?ID) where TEntity : class, Core.Infrastructure.IEntity, new() { return(ts.Where(o => o.ID == ID).IsHaving()); }
/// <summary> /// 返回筛选后的列表 /// </summary> /// <param name="select">字段选择器</param> /// <param name="IDs">o => IDs.Contains(o.ID)</param> /// <param name="top">限制显示的数量</param> /// <param name="ts">ViewSet</param> /// <typeparam name="TEntity">实体类</typeparam> /// <typeparam name="T">实体类的属性</typeparam> public static List <T> ToSelectList <TEntity, T>(this ViewSet <TEntity> ts, List <int> IDs, int top, Expression <Func <TEntity, T> > select) where TEntity : class, Core.Infrastructure.IEntity, new() { return(ts.Where(o => IDs.Contains(o.ID.GetValueOrDefault())).ToSelectList(top, select)); }
/// <summary> /// 获取数量 /// </summary> /// <param name="ts">ViewSet</param> /// <typeparam name="TEntity">实体类</typeparam> /// <typeparam name="T">字段类型</typeparam> /// <param name="ID">条件,等同于:o=>o.ID == ID 的操作</param> /// <param name="fieldName">筛选字段</param> /// <param name="defValue">不存在时默认值</param> public static T Value <TEntity, T>(this ViewSet <TEntity> ts, int?ID, Expression <Func <TEntity, object> > fieldName, T defValue = default(T)) where TEntity : class, Core.Infrastructure.IEntity, new() { return(ts.Where(o => o.ID == ID).Value(fieldName, defValue)); }
/// <summary> /// 获取上一条记录 /// </summary> /// <param name="ID">当前ID</param> /// <param name="ts">ViewSet</param> /// <typeparam name="TEntity">实体类</typeparam> public static TEntity ToPreviousInfo <TEntity>(this ViewSet <TEntity> ts, int?ID) where TEntity : class, Core.Infrastructure.IEntity, new() { return(ts.Where(o => o.ID < ID).Desc(o => o.ID).ToInfo()); }
/// <summary> /// 获取下一条记录 /// </summary> /// <param name="ID">当前ID</param> /// <param name="ts">ViewSet</param> /// <typeparam name="TEntity">实体类</typeparam> public static TEntity ToNexTEntity <TEntity>(this ViewSet <TEntity> ts, int?ID) where TEntity : class, Core.Infrastructure.IEntity, new() { return(ts.Where(o => o.ID > ID).Asc(o => o.ID).ToInfo()); }