/// <summary>
        /// GetUserActionLogInfoPageAsync
        /// </summary>
        /// <param name="criteria"></param>
        /// <returns></returns>
        public async Task <Page <XM.UserActionLogInfo> > GetUserActionLogInfoPageAsync(XM.UserActionLogPageSearchCriteria criteria)
        {
            IQueryable <UserActionLog>        query = CreateQuery(criteria);
            IOrderedQueryable <UserActionLog> orderedQuery;

            if (criteria.PagingInfo.SortInfo.IsValid())
            {
                orderedQuery = query.Order(criteria.PagingInfo.SortInfo);
            }
            else
            {
                // 默认排序
                orderedQuery = query.OrderByDescending(m => m.UserActionLogId);
            }

            var page = await orderedQuery.Select(_userActionLogInfoSelector).GetPageAsync(criteria.PagingInfo);

            return(page);
        }
        private IQueryable <UserActionLog> CreateQuery(XM.UserActionLogPageSearchCriteria criteria)
        {
            IQueryable <UserActionLog> query = _context.UserActionLog;

            return(query);
        }