public override void VisitQueryModel([NotNull] QueryModel queryModel) { Check.NotNull(queryModel, "queryModel"); var requiresEntityMaterializationExpressionTreeVisitor = new RequiresEntityMaterializationExpressionTreeVisitor(this); queryModel.TransformExpressions(requiresEntityMaterializationExpressionTreeVisitor.VisitExpression); _querySourcesRequiringMaterialization = requiresEntityMaterializationExpressionTreeVisitor.QuerySourcesRequiringMaterialization; foreach (var groupJoinClause in queryModel.BodyClauses.OfType <GroupJoinClause>()) { _querySourcesRequiringMaterialization.Add(groupJoinClause.JoinClause); } base.VisitQueryModel(queryModel); if (_blockTaskExpressions) { _expression = new TaskBlockingExpressionTreeVisitor() .VisitExpression(_expression); } }
public override void VisitQueryModel([NotNull] QueryModel queryModel) { Check.NotNull(queryModel, "queryModel"); var requiresEntityMaterializationExpressionTreeVisitor = new RequiresEntityMaterializationExpressionTreeVisitor(_queryCompilationContext.Model); queryModel.TransformExpressions(requiresEntityMaterializationExpressionTreeVisitor.VisitExpression); _querySourcesRequiringMaterialization = requiresEntityMaterializationExpressionTreeVisitor.QuerySourcesRequiringMaterialization; foreach (var groupJoinClause in queryModel.BodyClauses.OfType <GroupJoinClause>()) { _querySourcesRequiringMaterialization.Add(groupJoinClause.JoinClause); } base.VisitQueryModel(queryModel); }