public static IQueryable <T> Take <T>(this IQueryable <T> source, ILimitedResultRequest limited) { if (limited.MaxResultCount <= 0) { return(source); } return(source.Take(limited.MaxResultCount)); }
/// <summary> /// Should apply paging if needed. /// </summary> /// <param name="query">The query.</param> /// <param name="input">The input.</param> protected virtual IQueryable <TEntity> ApplyPaging <TEntity>(IQueryable <TEntity> query, IPagedResultRequest input) { //Try to use paging if available IPagedResultRequest pagedInput = input; if (pagedInput != null) { return(query.PageBy(pagedInput)); } //Try to limit query result if available ILimitedResultRequest limitedInput = input; if (limitedInput != null) { return(query.Take(limitedInput.MaxResultCount)); } //No paging return(query); }