Exemplo n.º 1
0
 /// <summary>
 /// Extendable method: 获取分页查询数据源
 /// </summary>
 /// <typeparam name="TEntity">实体类型</typeparam>
 /// <param name="source">排好序的数据源</param>
 /// <param name="pageSize">每页的元素数量</param>
 /// <param name="pageIndex">当前第几页</param>
 /// <returns>分页查询数据源</returns>
 public static IDbPagedQuery <TEntity> Paging <TEntity>(this IDbSortedQuery <TEntity> source, int pageSize, int pageIndex = 1)
     where TEntity : class
 {
     //非空检查
     Check.ArgumentNull(source, nameof(source));
     //执行分页查询
     return(source.Factory.CreatePagedQuery(source, pageSize, pageIndex));
 }
Exemplo n.º 2
0
 /// <summary>
 /// Extendable method: 对排好序的数据源再次降序排序
 /// </summary>
 /// <typeparam name="TEntity">实体类型</typeparam>
 /// <typeparam name="TKey">实体属性类型</typeparam>
 /// <param name="source">排好序的数据源</param>
 /// <param name="keySelector">指定某属性的表达式</param>
 /// <returns>再次排好序的数据源</returns>
 public static IDbSortedQuery <TEntity> ThenByDescending <TEntity, TKey>(this IDbSortedQuery <TEntity> source, Expression <Func <TEntity, TKey> > keySelector)
     where TEntity : class
 {
     //非空验证
     Check.ArgumentNull(source, nameof(source));
     Check.ArgumentNull(keySelector, nameof(keySelector));
     //创建新的查询对象
     return(source.Factory.CreateSortedQuery(source, keySelector, true));
 }
Exemplo n.º 3
0
 /// <summary>
 /// Extendable method: 查询前几条的元素
 /// </summary>
 /// <typeparam name="TEntity">object's type</typeparam>
 /// <param name="source">数据源</param>
 /// <param name="topCount">查询的前几条的元素数量</param>
 /// <returns>TOP查询数据源</returns>
 public static IDbSelectedQuery <TEntity> Top <TEntity>(this IDbSortedQuery <TEntity> source, int topCount)
     where TEntity : class
 {
     //非空检查
     Check.ArgumentNull(source, nameof(source));
     Check.ArgumentNull(topCount, nameof(topCount));
     //获取TOP查询数据源
     return(source.Factory.CreateTopSelectedQuery(source, topCount));
 }
Exemplo n.º 4
0
 /// <summary>
 /// Extendable method: 查询前几条选定项
 /// </summary>
 /// <typeparam name="TEntity">object's type</typeparam>
 /// <typeparam name="TResult">result's type</typeparam>
 /// <param name="source">数据源</param>
 /// <param name="topCount">查询的前几条的元素数量</param>
 /// <param name="selector">指定选定项的表达式</param>
 /// <returns>TOP选定项查询数据源</returns>
 public static IDbSelectedQuery <TResult> Top <TEntity, TResult>(this IDbSortedQuery <TEntity> source, int topCount, Expression <Func <TEntity, TResult> > selector)
     where TEntity : class
 {
     //非空检查
     Check.ArgumentNull(source, nameof(source));
     Check.ArgumentNull(topCount, nameof(topCount));
     Check.ArgumentNull(selector, nameof(selector));
     //获取TOP查询数据源
     return(source.Factory.CreateTopSelectedQuery(source, topCount, selector));
 }