Сериализация и десериализация деревьев выражений в C#
есть ли способ десериализовать выражения в C#, я хотел бы хранить выражения в базе данных и загружать их во время выполнения.
7 ответов:
Я продолжил работу над библиотекой, которая была упомянута сериализация и десериализация деревьев выражений в C#
похоже, что проект был заброшен (2008), но я сделал некоторую работу над ним, и теперь он работает с .NET 4.0 и Silverlight. Я исправил ошибки в их коде, а также сделал его более независимым от DAL.
другой вариант-это Сериализация Дерева Выражений проект включен code.msdn.com -казалось бы, больше того, что здесь нужно?
UPD: теперь http://archive.msdn.microsoft.com/exprserialization
есть проект на GitHub / Nuget под названием MetaLinq это направлено на то, чтобы сделать работу с выражением tress более легким.
он преобразует между нормальными выражениями и "EditableExpressions", которые являются изменяемыми и полностью Сериализуемыми, поэтому могут использоваться с Json, Xml, двоичными и т. д.
также проверьте это блоге для получения дополнительной информации.
посмотри на мою новую библиотеку сериализовать.Linq. Он сериализует выражения linq в json, xml и двоичный код.
не в полном объеме, однако Dynamic LINQ образец может немного помочь. Вы можете, конечно, сериализовать выражение в строку (до некоторой степени - дженерики выглядят немного странными), но нет встроенного парсера.
Я работал над проектом для сериализации выражений. Это нормально и вы можете использовать его. http://www.codeproject.com/Articles/851187/ServicePredicateBuilder-for-creating-Serializable