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