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; }
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; }