Пример #1
0
        public override void VisitMainFromClause(MainFromClause fromClause, QueryModel queryModel)
        {
            base.VisitMainFromClause(fromClause, queryModel);

            ResultOperatorExpressionRewriter rewriter = new ResultOperatorExpressionRewriter();
            fromClause.TransformExpressions(rewriter.Rewrite);
            if (fromClause.FromExpression.NodeType == ExpressionType.Constant)
            {
                System.Type expressionType = queryModel.MainFromClause.FromExpression.Type;
                if (expressionType.IsGenericType && expressionType.GetGenericTypeDefinition() == typeof(NhQueryable<>))
                {
                    queryModel.MainFromClause.ItemType = expressionType.GetGenericArguments()[0];
                }
            }

            this.resultOperators.AddRange(rewriter.ResultOperators);
            this.evaluationType = rewriter.EvaluationType;
        }
Пример #2
0
        public override void VisitMainFromClause(MainFromClause fromClause, QueryModel queryModel)
        {
            base.VisitMainFromClause(fromClause, queryModel);

            ResultOperatorExpressionRewriter rewriter = new ResultOperatorExpressionRewriter();
            fromClause.TransformExpressions(rewriter.Rewrite);
            if (fromClause.FromExpression.NodeType == ExpressionType.Constant)
            {
                System.Type expressionType = queryModel.MainFromClause.FromExpression.Type;
                if (expressionType.IsGenericType && expressionType.GetGenericTypeDefinition() == typeof(NhQueryable<>))
                {
                    queryModel.MainFromClause.ItemType = expressionType.GetGenericArguments()[0];
                }
            }

            this.resultOperators.AddRange(rewriter.ResultOperators);
            this.evaluationType = rewriter.EvaluationType;
        }