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