web-dev-qa-db-fra.com

Sérialisation et désérialisation des arbres d'expression en C #

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.

88

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.

http://expressiontree.codeplex.com/

47
T. Webster

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

14
Rich

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.

13
Pop Catalin

jetez un oeil à ma nouvelle bibliothèque Serialize.Linq . Il sérialise les expressions linq en json, xml et binaire.

9
esskar

Les services WCF RIA permettent de sérialiser IQuerayble<T>

WCF RIA Services Part 3 - Mise à jour des données

2
Jonathan Parker

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é.

2
Marc Gravell

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

1
Mohammad Dayyan