Beispiel #1
0
        protected override Expression VisitRowNumber(DbRowNumberExpression rowNumber)
        {
            this.Write("ROW_NUMBER() OVER(");

            if (rowNumber.OrderBy != null && rowNumber.OrderBy.Count > 0)
            {
                this.Write("ORDER BY ");

                for (int i = 0, n = rowNumber.OrderBy.Count; i < n; i++)
                {
                    var exp = rowNumber.OrderBy[i] as DbOrderExpression;

                    if (i > 0)
                    {
                        this.Write(", ");
                    }

                    this.VisitValue(exp.Expression);

                    if (exp.OrderType != OrderType.Ascending)
                    {
                        this.Write(" DESC");
                    }
                }
            }

            this.Write(")");

            return(rowNumber);
        }
Beispiel #2
0
 protected override Expression VisitRowNumber(DbRowNumberExpression rowNumber)
 {
     throw new NotSupportedException();
 }