构建LINQ查询

时间:2012-02-03 16:11:20

标签: linq linq-to-sql codeplex

是否有人评估过this codeplex project

使用queryBuilder.Query时是否有任何限制(或错误或例外)?

这将节省我的大部分时间,而不是使用其他LINQ变体。

2 个答案:

答案 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和动态程序集作为中介。因此,它可能会更快,但更有限。

http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

答案 1 :(得分:0)

根据情况,LINQKit的AsExpandable和PredicateBuilder部分在我的经验中非常有用。

http://www.albahari.com/nutshell/linqkit.aspx