Сериализация и десериализация деревьев выражений в С#

Есть ли способ десериализации выражений в С#, я хотел бы хранить выражения в базе данных и загружать их во время выполнения.

Ответ 1

Я продолжал работу над библиотекой, о которой упоминалось Сериализация и десериализация деревьев выражений в С#

Похоже, проект был оставлен (2008), но я немного поработал над этим, и теперь он работает с .NET 4.0 и Silverlight. Я сделал исправления ошибок для их кода, а также сделал его более независимым от DAL.

http://expressiontree.codeplex.com/

Ответ 2

Там проект GitHub/Nuget называется MetaLinq, целью которого является упрощение работы с выражением tress.

Он преобразует между нормальными выражениями и "EditableExpressions", которые являются изменяемыми и полностью Serializable, поэтому их можно использовать с Json, Xml, Binary и т.д.

Также проверьте это сообщение в блоге для получения дополнительной информации.

Ответ 4

посмотрите мою новую библиотеку Serialize.Linq. Он сериализует выражения linq для json, xml и binary.

Ответ 6

Не в полном объеме; Тем не менее, Dynamic LINQ может немного помочь. Вы можете, конечно, сериализовать выражение в строку (до некоторой степени - дженерики выглядят немного завинчиво), но встроенный синтаксический анализатор отсутствует.