public void SetUp () { _orderingExpression1 = Expression.Constant ("order1"); _orderingExpression2 = Expression.Constant ("order2"); _sqlRowNumberExpression = new SqlRowNumberExpression ( new[] { new Ordering (_orderingExpression1, OrderingDirection.Asc), new Ordering (_orderingExpression2, OrderingDirection.Desc) }); }
public void NumberExpression () { var ordering1 = new Ordering (Expression.Constant ("order1"), OrderingDirection.Asc); var ordering2 = new Ordering (Expression.Constant ("order2"), OrderingDirection.Desc); var sqlRowNumberRÉxpression = new SqlRowNumberExpression ( new[] { ordering1, ordering2 }); _stageMock .Expect (mock => mock.GenerateTextForOrdering (_commandBuilder, ordering1)) .WhenCalled (mi => ((SqlCommandBuilder) mi.Arguments[0]).Append ("order1 ASC")); _stageMock .Expect (mock => mock.GenerateTextForOrdering (_commandBuilder, ordering2)) .WhenCalled (mi => ((SqlCommandBuilder) mi.Arguments[0]).Append ("order2 DESC")); _stageMock.Replay(); SqlGeneratingExpressionVisitor.GenerateSql (sqlRowNumberRÉxpression, _commandBuilder, _stageMock); _stageMock.VerifyAllExpectations(); Assert.That (_commandBuilder.GetCommandText(), Is.EqualTo ("ROW_NUMBER() OVER (ORDER BY order1 ASC, order2 DESC)")); }
public Expression VisitSqlRowNumberExpression (SqlRowNumberExpression expression) { return VisitChildrenWithGivenSemantics (expression, SqlExpressionContext.SingleValueRequired); }
public void VisitSqlRowNumberExpression () { var expression = new SqlRowNumberExpression (new[] { new Ordering (Expression.Constant (true), OrderingDirection.Asc) }); var expectedResult = new SqlRowNumberExpression (new[] { new Ordering (new SqlConvertedBooleanExpression (Expression.Constant (1)), OrderingDirection.Asc) }); var result = _predicateRequiredVisitor.VisitSqlRowNumberExpression (expression); SqlExpressionTreeComparer.CheckAreEqualTrees (expectedResult.Orderings[0].Expression, ((SqlRowNumberExpression) result).Orderings[0].Expression); }