如何动态构建LINQ

时间:2009-08-18 08:13:00

标签: linq dynamic operators

我有一个场景,我有自定义配置的列名,关联的运算符,如< > =之间等等,然后是相关的值。

我正在尝试确定是否可以使用动态(字符串)where子句构建LINQ查询?

我注意到Predicate.OR Preditcate.AND的内容,但这并不是我所说的。

有什么建议吗?

3 个答案:

答案 0 :(得分:9)

如果您正在谈论字符串 Where子句(而不是自己构建表达式等) - 那么Dynamic LINQ Library(在3.5个样本中,IIRC)就足够了

请注意,以下示例适用于数据库;但是你可以通过调用内存数据中的.AsQueryable()将它与LINQ-to-Objects一起使用。

alt text

答案 1 :(得分:8)

实际上,Microsoft提供了一个特定的库( System.Linq.Dynamic ),它附带了支持此功能的C#VS2008示例。从here (Microsoft Download)

获取

该库包含在上述下载示例的\ LinqSamples \ DynamicQuery目录中。

有关广泛使用示例,请查看此页:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

答案 2 :(得分:2)