示例#1
0
        protected override Expression VisitMethodCall(MethodCallExpression node)
        {
            var subquery = new SubqueryExpression(node.Arguments[0] as MethodCallExpression ?? node);

            this.SqlCmd          = subquery.SqlCmd;
            this.Param           = subquery.Param;
            this.ReturnType      = subquery.ReturnType;
            this.WhereExpression = subquery.WhereExpression;
            return(node);
        }
        protected override Expression VisitMethodCall(MethodCallExpression node)
        {
            var nodeExpression = node;

            if (node.Arguments.Count() != 0)
            {
                var argumentExp = node.Arguments[0] as MethodCallExpression;
                if (argumentExp != null)
                {
                    nodeExpression = argumentExp;
                }
            }
            var subquery = new SubqueryExpression(nodeExpression);

            this.SqlCmd          = subquery.SqlCmd;
            this.Param           = subquery.Param;
            this.ReturnType      = subquery.ReturnType;
            this.WhereExpression = subquery.WhereExpression;
            return(node);
        }