答案 0 :(得分:0)
我之前没有见过这个项目,但看起来它只是使用CodeDOM将C#查询编译成动态程序集。这是一篇关于它是如何工作的博客文章:
http://kenanbek.com/site/post/dynamic-linq-queries-build-linq-queries-from-text-at-runtime/
如果它正在使用动态编译,那么它可能没有太多限制。当然,它只能访问您传递给LinqTextQueryBuilder.SetSource()
方法的对象的项目。
我在我正在处理的项目中使用类似的名为Dynamic Linq的东西,但它更适用于解析where子句表达式等而不是整个查询。它的工作方式略有不同,因为它将类似C#的表达式直接解析为表达式树,而不是使用CodeDOM和动态程序集作为中介。因此,它可能会更快,但更有限。
答案 1 :(得分:0)
根据情况,LINQKit的AsExpandable和PredicateBuilder部分在我的经验中非常有用。