コード例 #1
0
        /// <summary>
        /// Updates the row number.
        /// </summary>
        /// <param name="rowNumber">The row number.</param>
        /// <param name="orderBy">The order by.</param>
        /// <returns></returns>
        protected RowNumberExpression UpdateRowNumber(RowNumberExpression rowNumber, IEnumerable <OrderExpression> orderBy)
        {
            if (orderBy != rowNumber.OrderBy)
            {
                return(new RowNumberExpression(orderBy));
            }

            return(rowNumber);
        }
コード例 #2
0
 /// <summary>
 /// Compares the row number.
 /// </summary>
 /// <param name="a">A.</param>
 /// <param name="b">The b.</param>
 /// <returns></returns>
 protected virtual bool CompareRowNumber(RowNumberExpression a, RowNumberExpression b)
 {
     return(this.CompareOrderList(a.OrderBy, b.OrderBy));
 }
コード例 #3
0
        /// <summary>
        /// Visits the row number.
        /// </summary>
        /// <param name="rowNumber">The row number.</param>
        /// <returns></returns>
        protected virtual Expression VisitRowNumber(RowNumberExpression rowNumber)
        {
            var orderby = this.VisitOrderBy(rowNumber.OrderBy);

            return(this.UpdateRowNumber(rowNumber, orderby));
        }