Exemple #1
0
        private TResult BindMemberOrMethod <TResult>(
            Func <IProperty, IQuerySource, SelectExpression, TResult> memberBinder,
            IQuerySource querySource,
            IProperty property)
        {
            if (querySource != null)
            {
                var selectExpression = TryGetQuery(querySource);

                if (selectExpression != null)
                {
                    return(memberBinder(property, querySource, selectExpression));
                }

                selectExpression
                    = _parentQueryModelVisitor?.TryGetQuery(querySource);

                selectExpression?
                .AddToProjection(
                    QueryCompilationContext.GetColumnName(property),
                    property,
                    querySource);
            }

            return(default(TResult));
        }
Exemple #2
0
        private TResult BindMemberOrMethod <TResult>(
            Func <IProperty, IQuerySource, SelectExpression, TResult> memberBinder,
            IQuerySource querySource,
            IProperty property)
        {
            var selectExpression = TryGetQuery(querySource);

            if (selectExpression != null)
            {
                return(memberBinder(property, querySource, selectExpression));
            }

            selectExpression
                = _parentQueryModelVisitor != null
                    ? _parentQueryModelVisitor.TryGetQuery(querySource)
                    : null;

            if (selectExpression != null)
            {
                selectExpression.AddToProjection(property, querySource);
            }

            return(default(TResult));
        }