protected override Expression VisitRowNumber(RowNumberExpression rowNumberExpression) { Check.NotNull(rowNumberExpression, nameof(rowNumberExpression)); var canOptimize = _canOptimize; _canOptimize = false; var changed = false; var partitions = new List <SqlExpression>(); foreach (var partition in rowNumberExpression.Partitions) { var newPartition = (SqlExpression)Visit(partition); changed |= newPartition != partition; partitions.Add(newPartition); } var orderings = new List <OrderingExpression>(); foreach (var ordering in rowNumberExpression.Orderings) { var newOrdering = (OrderingExpression)Visit(ordering); changed |= newOrdering != ordering; orderings.Add(newOrdering); } _canOptimize = canOptimize; return(rowNumberExpression.Update(partitions, orderings)); }
protected override Expression VisitRowNumber(RowNumberExpression rowNumberExpression) { Check.NotNull(rowNumberExpression, nameof(rowNumberExpression)); var parentSearchCondition = _isSearchCondition; _isSearchCondition = false; var changed = false; var partitions = new List <SqlExpression>(); foreach (var partition in rowNumberExpression.Partitions) { var newPartition = (SqlExpression)Visit(partition); changed |= newPartition != partition; partitions.Add(newPartition); } var orderings = new List <OrderingExpression>(); foreach (var ordering in rowNumberExpression.Orderings) { var newOrdering = (OrderingExpression)Visit(ordering); changed |= newOrdering != ordering; orderings.Add(newOrdering); } _isSearchCondition = parentSearchCondition; return(ApplyConversion(rowNumberExpression.Update(partitions, orderings), condition: false)); }
protected override Expression VisitRowNumber(RowNumberExpression rowNumberExpression) { return(rowNumberExpression?.Update( rowNumberExpression.Partitions.VisitAll(this), rowNumberExpression.Orderings.VisitAll(this))); }