是否有内置于.NET的类将表达式树或IQueryable<T>
转换为XML?
答案 0 :(得分:1)
不直接,不。 IQuerable<T>
是一个接口,因此,它背后可能有许多实现,每个实现不同的序列化。
也就是说,您可以尝试序列化Expression
IQueryable
interface(IQueryable<T>
的基础)通过Expression
property公开的Expression Tree Serialization project on MSDN。
问题是Expression
类及其子类不可序列化,因此您必须创建一个结构,该结构是Expression
类的镜像(以及 all 它的子类,并且有很多)然后序列化它。幸运的是,{{3}}可能会对您有所帮助。
即使这样,你仍然不会有提供者信息等等。这可能会或可能不会影响你想要做的事情。
但是,如果您只需要在现有的IQueryable<T>
实现上设置表达式树,那么这就足够了。