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