1

有人评估过这个 codeplex 项目吗?

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

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

4

2 回答 2

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

于 2012-02-04T15:12:51.313 回答
0

根据我的经验,LINQKit 的 AsExpandable 和 PredicateBuilder 部分也非常有用,具体取决于场景。

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

于 2012-02-05T06:29:39.207 回答