Exemple #1
0
        public override void VisitMainFromClause(MainFromClause fromClause, QueryModel queryModel)
        {
            MainFromEntityClauseVisitor mainFromEntityClauseVisitor = new MainFromEntityClauseVisitor(fromClause);

            _queryMetadata.EntityName = mainFromEntityClauseVisitor.EntityLogicalName;
            _queryMetadata.EntityType = mainFromEntityClauseVisitor.EntityType;
        }
        protected override Expression VisitQuerySourceReference(QuerySourceReferenceExpression expression)
        {
            if (expression.ReferencedQuerySource is JoinClause)
            {
                var clause = (JoinClause)expression.ReferencedQuerySource;
                JoinExpressionTreeVisitor joinExpressionTreeVisitor = new JoinExpressionTreeVisitor(clause.InnerSequence);
                entityLogicalName = joinExpressionTreeVisitor.EntityLogicalName;
            }
            else if (expression.ReferencedQuerySource is MainFromClause)
            {
                var clasue = (MainFromClause)expression.ReferencedQuerySource;
                MainFromEntityClauseVisitor mainFromEntityClauseVisitor = new MainFromEntityClauseVisitor(clasue);
                entityLogicalName = mainFromEntityClauseVisitor.EntityLogicalName;
            }

            return(expression);
        }
        protected override Expression VisitQuerySourceReference(QuerySourceReferenceExpression expression)
        {
            var tt = expression.ReferencedQuerySource.GetType();

            if (expression.ReferencedQuerySource is JoinClause)
            {
                var clasue = (JoinClause)expression.ReferencedQuerySource;
                JoinExpressionTreeVisitor joinExpressionTreeVisitor = new JoinExpressionTreeVisitor(clasue.InnerSequence);
                MemberContainingType = joinExpressionTreeVisitor.MemberContainingType;
                EntityLogicalName    = joinExpressionTreeVisitor.EntityLogicalName;
            }
            else if (expression.ReferencedQuerySource is MainFromClause)
            {
                var clasue = (MainFromClause)expression.ReferencedQuerySource;
                MainFromEntityClauseVisitor mainFromEntityClauseVisitor = new MainFromEntityClauseVisitor(clasue);
                MemberContainingType = mainFromEntityClauseVisitor.EntityType;
                EntityLogicalName    = mainFromEntityClauseVisitor.EntityLogicalName;
            }

            return(expression);
        }