コード例 #1
0
        public static void Chunk <T>(this QueryFactory db, Query query, int chunkSize, Action <IEnumerable <T>, int> action)
        {
            var result = db.Paginate <T>(query, 1, chunkSize);

            action(result.List, 1);

            while (result.HasNext)
            {
                result = result.Next();
                action(result.List, result.Page);
            }
        }
コード例 #2
0
        public static void Chunk <T>(this QueryFactory db, Query query, int chunkSize, Func <IEnumerable <T>, int, bool> func)
        {
            var result = db.Paginate <T>(query, 1, chunkSize);

            if (!func(result.List, 1))
            {
                return;
            }

            while (result.HasNext)
            {
                result = result.Next();
                if (!func(result.List, result.Page))
                {
                    return;
                }
            }
        }
コード例 #3
0
        public static PaginationResult <T> Paginate <T>(this Query query, int page, int perPage = 25)
        {
            QueryFactory db = QueryHelper.CreateQueryFactory(query);

            return(db.Paginate <T>(query, page, perPage));
        }