C#中表达式树的序列化和反序列化

本文关键字:序列化 反序列化 表达式 | 更新日期: 2023-09-27 17:48:48

有没有一种方法可以在C#中反序列化表达式,我想将表达式存储在数据库中,并在运行时加载它们。

C#中表达式树的序列化和反序列化

我继续在C#中序列化和反序列化表达式树提到的库上工作

看起来这个项目被放弃了(2008年),但我做了一些工作,现在它可以与.NET 4.0和Silverlight一起使用。我对他们的代码进行了错误修复,并使其更加独立于DAL。

http://expressiontree.codeplex.com/

GitHub/Nuget上有一个名为MetaLinq的项目,旨在让使用表达式tress变得更容易。

它在普通表达式和"EditableExpressions"之间进行转换,这两个表达式是可变的且完全可序列化的,因此可以与Json、Xml、Binary等一起使用。

还可以查看此博客文章了解更多信息。

其他选项是code.msdn.com上的表达式树序列化项目-看起来更像是这里需要什么?

UPD:现在http://archive.msdn.microsoft.com/exprserialization

看看我的新库Serialize.Linq。它将Linq表达式序列化为json、xml和二进制。

不完整;然而,动态LINQ示例可能会有所帮助。您当然可以将表达式序列化为字符串(在某种程度上,泛型看起来有点古怪),但没有内置的解析器。

WCF RIA Services允许序列化IQuerayble<T>

WCF RIA服务第3部分-更新数据

我正在做一个序列化表达式的项目。没关系,你可以用它。http://www.codeproject.com/Articles/851187/ServicePredicateBuilder-for-creating-Serializable