public static IQueryable DeserializeQuery(this DataContext dc, XElement rootXml) { var resolver = new TypeResolver(assemblies: null, knownTypes: GetKnownTypesFromTables(dc) ); DLinqCustomExpressionXmlConverter customConverter = new DLinqCustomExpressionXmlConverter(dc, resolver); ExpressionSerializer serializer = new ExpressionSerializer(resolver, new List<CustomExpressionXmlConverter> { 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 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 IQueryable DeserializeQuery(this DataContext dc, XElement rootXml) { var resolver = new TypeResolver(assemblies: null, knownTypes: GetKnownTypesFromTables(dc)); DLinqCustomExpressionXmlConverter customConverter = new DLinqCustomExpressionXmlConverter(dc, resolver); ExpressionSerializer serializer = new ExpressionSerializer(resolver, new List <CustomExpressionXmlConverter> { 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 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)); }