Esempio n. 1
0
        public ITableInfo VisitSubStatementTableInfo(ResolvedSubStatementTableInfo tableInfo)
        {
            ArgumentUtility.CheckNotNull("tableInfo", tableInfo);

            var newStatement = _stage.ApplySelectionContext(tableInfo.SqlStatement, _expressionContext, _mappingResolutionContext);

            if (newStatement != tableInfo.SqlStatement)
            {
                return(new ResolvedSubStatementTableInfo(tableInfo.TableAlias, newStatement));
            }
            return(tableInfo);
        }
        public Expression VisitSqlSubStatement(SqlSubStatementExpression expression)
        {
            ArgumentUtility.CheckNotNull("expression", expression);

            var newSqlStatement = _stage.ApplySelectionContext(expression.SqlStatement, _currentContext, _context);

            if (!ReferenceEquals(expression.SqlStatement, newSqlStatement))
            {
                return(new SqlSubStatementExpression(newSqlStatement));
            }
            return(expression);
        }