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); }
protected override Expression VisitRowNumber(DbRowNumberExpression rowNumber) { throw new NotSupportedException(); }