XML Serializable IQueryable <t> / Expression Tree </t>

时间:2011-08-24 16:41:47

标签: .net xml linq serialization xml-serialization

是否有内置于.NET的类将表达式树或IQueryable<T>转换为XML?

1 个答案:

答案 0 :(得分:1)

不直接,不。 IQuerable<T>是一个接口,因此,它背后可能有许多实现,每个实现不同的序列化。

也就是说,您可以尝试序列化Expression IQueryable interfaceIQueryable<T>的基础)通过Expression property公开的Expression Tree Serialization project on MSDN

问题是Expression类及其子类不可序列化,因此您必须创建一个结构,该结构是Expression类的镜像(以及 all 它的子类,并且有很多)然后序列化它。幸运的是,{{3}}可能会对您有所帮助。

即使这样,你仍然不会有提供者信息等等。这可能会或可能不会影响你想要做的事情。

但是,如果您只需要在现有的IQueryable<T>实现上设置表达式树,那么这就足够了。