Beispiel #1
0
        public object Execute(Expression expression)
        {
            if (BoxedQueryRemoteExtensions.DefaultEvaluator == null)
            {
                throw new InvalidOperationException("BoxedQueryRemoteExtensions.DefaultEvaluator is not set");
            }
            XElement queryXml    = BoxedQueryRemoteExtensions.SerializeQuery(expression);
            Type     elementType = TypeSystem.GetElementType(expression.Type);
            Type     ienumerableExpressionType = TypeSystem.FindIEnumerable(expression.Type);
            XElement evaluatorXml = new XElement("evaluatorXml",
                                                 new XElement("QueryXml", queryXml),
                                                 ExpressionSerializer.GenerateXmlFromTypeOrNull("elementType", elementType),
                                                 ExpressionSerializer.GenerateXmlFromTypeOrNull("ienumerableExpressionType", ienumerableExpressionType));

            return(BoxedQueryRemoteExtensions.DefaultEvaluator(evaluatorXml));
        }
Beispiel #2
0
 public XElement Serialize()
 {
     return(BoxedQueryRemoteExtensions.SerializeQuery(this));
 }
Beispiel #3
0
 public static XElement SerializeQuery(this IQueryable query)
 {
     return(BoxedQueryRemoteExtensions.SerializeQuery(query.Expression));
 }