紧凑框架中的Linq表达树

时间:2010-06-10 10:44:05

标签: linq compact-framework

Compact Framework中缺少表达式树已经困扰了我一段时间了,但我并没有真正寻找解决方案。

今天,我发现了一篇关于在Mono System.Core之上构建的替代System.Linq.Expressions的博客文章。通过db4o(你可以找到它here)。

我的问题是 - 你使用过这个库吗?如果有的话,你对它的体验是什么(特别是关于性能)?

2 个答案:

答案 0 :(得分:2)

这并不直接回答您的问题,但您可能会发现它很有趣。 IronPythonIronRuby附带了System.Linq.Expressions的.NET 4.0实现的源代码。他们还为Linq / DLR表达树提供翻译。 Tomáš Matoušek能够使用此解释器使IronRuby在Windows Phone模拟器上运行。

答案 1 :(得分:2)

对于LINQ to db4o,System.Linq.Expressions运行良好。它可能不会是Compact Framework应用程序查询非LINQ到对象源的瓶颈。

如果你只是用它来做一些元编程,一遍又一遍地使用Compile,它的表现就不如桌面,因为它基本上是一个基于反射的解释器。对于它的价值,解释器通过表达树的完整Mono测试套件(这是相当的结果)。

唯一知道它的错误与a missing feature of the Compact Framework BCL有关,因此当涉及通用字段时,csc无法发出正确的表达式树。