Existe-t-il un moyen de désérialiser les expressions en C #, je voudrais stocker les expressions dans une base de données et les charger au moment de l'exécution.
J'ai continué à travailler sur la bibliothèque mentionnée par Sérialisation et désérialisation des arbres d'expression en C #
Il semble que le projet ait été abandonné (2008), mais j'ai travaillé dessus et maintenant il fonctionne avec .NET 4.0 et Silverlight. J'ai corrigé des bogues dans leur code et l'ai également rendu plus indépendant de DAL.
Une autre option est le projet Expression Tree Serialization sur code.msdn.com - semble-t-il être plus que nécessaire ici?
UPD: Maintenant http://archive.msdn.Microsoft.com/exprserialization
Il y a un projet sur GitHub/Nuget appelé MetaLinq qui vise à rendre le travail avec tress d'expression plus facile.
Il convertit entre les expressions normales et les `` expressions modifiables '' qui sont mutables et entièrement sérialisables, donc peut être utilisé avec Json, Xml, binaire, etc.
Vérifiez également cela article de blog pour plus d'informations.
jetez un oeil à ma nouvelle bibliothèque Serialize.Linq . Il sérialise les expressions linq en json, xml et binaire.
Les services WCF RIA permettent de sérialiser IQuerayble<T>
Pas en totalité; cependant, l'exemple Dynamic LINQ peut aider un peu. Vous pouvez certainement sérialiser une expression en une chaîne (dans une certaine mesure - les génériques ont l'air un peu délirants), mais il n'y a pas d'analyseur intégré.
Je travaillais sur un projet de sérialisation d'expressions. C'est OK et vous pouvez l'utiliser. http://www.codeproject.com/Articles/851187/ServicePredicateBuilder-for-creating-Serializable