Example #1
0
        /// <summary>
        /// Executes a <see cref="SerializableConstantExpression"/> and returns the result.
        /// </summary>
        /// <param name="expression"><see cref="SerializableConstantExpression"/> to convert.</param>
        /// <returns>Returns the result of a <see cref="SerializableConstantExpression"/>.</returns>
        protected override object GetResultConstantExpression(SerializableConstantExpression expression)
        {
            if (expression.Value == null)
            {
                return(null);
            }
            InterLinqQueryBase interLinqQueryBase = expression.Value as InterLinqQueryBase;

            if (interLinqQueryBase != null)
            {
                Type type = interLinqQueryBase.ElementType;
                return(QueryHandler.Get(type));
            }
            return(expression.Value);
        }
Example #2
0
        /// <summary>
        /// Executes a <see cref="SerializableConstantExpression"/> and returns the result.
        /// </summary>
        /// <param name="expression"><see cref="SerializableConstantExpression"/> to convert.</param>
        /// <returns>Returns the result of a <see cref="SerializableConstantExpression"/>.</returns>
        protected override object GetResultConstantExpression(SerializableConstantExpression expression, object sessionObject)
        {
            if (expression.Value == null)
            {
                return(null);
            }
            if (expression.Value is InterLinqQueryBase)
            {
                InterLinqQueryBase baseQuery = (InterLinqQueryBase)expression.Value;

                Type type = ((InterLinqQueryBase)expression.Value).ElementType;

                return(QueryHandler.Get(type, baseQuery.AdditionalObject, baseQuery.QueryName, sessionObject,
                                        (!string.IsNullOrEmpty(baseQuery.QueryName) && baseQuery.QueryParameters != null &&
                                         baseQuery.QueryParameters.Count != 0)
                        ? baseQuery.QueryParameters.Select(s => VisitResult(s, sessionObject)).ToArray()
                        : baseQuery.Parameters));
                //return QueryHandler.Get(type, baseQuery.AdditionalObject, baseQuery.QueryName, sessionObject, (!string.IsNullOrEmpty(baseQuery.QueryName) && baseQuery.QueryParameters != null && baseQuery.QueryParameters.Count != 0) ? baseQuery.QueryParameters.Select(s => VisitResult(s, sessionObject)).ToArray() : null);
            }
            return(expression.Value);
        }