public static async Task <Select2PageResult> ToSelect2PageResultAsync <TEntity>(this IQueryable <TEntity> set, string search, int pageNumber, int pageSize, Expression <Func <TEntity, object> > customOrderBySelector = null) where TEntity : class { var total = await set.DefaultCountAsync(search); if (IDNameObjectType <TEntity> .IsSimplifiable) { var list = await Select2ObjectManager <TEntity> .SimpleINOQuery(set, search, pageNumber, pageSize, customOrderBySelector).ToEntityListAsync(); return(list.ToSelect2PageResult(pageNumber, pageSize, total)); } else { var list = await Select2ObjectManager <TEntity> .Query(set, search, pageNumber, pageSize, customOrderBySelector).ToEntityListAsync(); return(list.ToSelect2PageResult(pageNumber, pageSize, total)); } }