public static async Task <CursorResultViewModel <TEntity> > BuildAsync(IQueryable <TEntity> query, string sortOrder, int limit) { var unlimitCnt = await query.LongCountAsync(); var limitListResult = await query.SortBy(sortOrder).Take(limit).ToListAsync(); var cmd = new CursorMetaData <TEntity>(limitListResult, sortOrder, limit, unlimitCnt); var crvm = new CursorResultViewModel <TEntity>(limitListResult, cmd); return(crvm); }
/// <summary> /// 결과 객체와 메타 정보를 한번에 저장하기 위한 생성자 /// </summary> /// <param name="result"></param> /// <param name="MetaData"></param> public CursorResultViewModel(IEnumerable <TEntity> result, CursorMetaData <TEntity> MetaData) { this.Result = result; this.MetaData = MetaData; }