Exemplo n.º 1
0
        public static XElement SerializeQuery(this IQueryable query)
        {
            DLinqSerializationTypeResolver resolver   = new DLinqSerializationTypeResolver(null);
            ExpressionSerializer           serializer = new ExpressionSerializer(resolver)
            {
                Converters = { new DLinqCustomExpressionXmlConverter(null, resolver) }
            };

            return(serializer.Serialize(query.Expression));
        }
 public static IQueryable DeserializeQuery(this DataContext dc, XElement rootXml)
 {
     DLinqSerializationTypeResolver resolver = new DLinqSerializationTypeResolver(dc);
     DLinqCustomExpressionXmlConverter customConverter = new DLinqCustomExpressionXmlConverter(dc, resolver);
     ExpressionSerializer serializer = new ExpressionSerializer(resolver) { Converters = { customConverter } };
     Expression queryExpr = serializer.Deserialize(rootXml);
     // Query kind is populated by the ResolveXmlFromExpression method
     if (customConverter.QueryKind == null)
         throw new Exception(string.Format("CAnnot deserialize into DLinq query for datacontext {0} - no Table found", dc));
     return customConverter.QueryKind.Provider.CreateQuery(queryExpr);
 }
Exemplo n.º 3
0
        //public static IQueryable DeserializeQuery(this DataContext dc, XElement rootXml)
        public static IQueryable DeserializeQuery(this ObjectContext dc, XElement rootXml)
        {
            DLinqSerializationTypeResolver    resolver        = new DLinqSerializationTypeResolver(dc);
            DLinqCustomExpressionXmlConverter customConverter = new DLinqCustomExpressionXmlConverter(dc, resolver);
            ExpressionSerializer serializer = new ExpressionSerializer(resolver)
            {
                Converters = { customConverter }
            };
            Expression queryExpr = serializer.Deserialize(rootXml);

            // Query kind is populated by the ResolveXmlFromExpression method
            if (customConverter.QueryKind == null)
            {
                throw new Exception(string.Format("CAnnot deserialize into DLinq query for datacontext {0} - no Table found", dc));
            }
            return(customConverter.QueryKind.Provider.CreateQuery(queryExpr));
        }
 public static XElement SerializeQuery(this IQueryable query)
 {
     DLinqSerializationTypeResolver resolver = new DLinqSerializationTypeResolver(null);
     ExpressionSerializer serializer = new ExpressionSerializer(resolver) { Converters = { new DLinqCustomExpressionXmlConverter(null, resolver) } };
     return serializer.Serialize(query.Expression);
 }